跳到主要内容

React Native 月报 #2

·阅读时长 9 分钟
Tomislav Tenodi
Shoutem 产品经理

React Native 每月例会仍在继续!本次会议,我们邀请到了 Infinite Red,他们是 Chain React,React Native 大会背后的杰出团队。由于在座大多数人都在 Chain React 大会上发表了演讲,我们将会议推迟了一周。大会的演讲视频已发布到线上,我鼓励大家去观看。那么,让我们看看我们的团队都在忙些什么。

团队

第二次会议,共有9个团队加入我们

备忘

以下是各团队的备注

Airbnb

Callstack

  • Mike Grabowski 一如既往地管理着 React Native 的每月发布,包括推出了一些测试版。特别是,正在努力将 v0.43.5 版本发布到 npm,因为它将解除 Windows 用户的阻止!
  • Haul 正在缓慢但持续地推进。有一个添加了 HMR 的拉取请求,其他改进也已发布。最近有几家行业领导者采用了它。可能计划在该领域开始全职有偿工作。
  • 本月,来自 Jest 团队的 Michał Pierzchała 加入了 Callstack。他将帮助维护 Haul,并可能参与 Metro BundlerJest 的工作。
  • Satyajit Sahoo 现在和我们在一起了,太棒了!
  • 我们的开源部门即将推出一系列酷炫的东西。特别是,正在努力将 Material Palette API 引入 React Native。计划最终发布我们的原生 iOS 套件,旨在提供 1:1 的原生组件外观和感觉。

Expo

  • 最近推出了 Native Directory,旨在帮助发现和评估 React Native 生态系统中的库。问题在于:库很多,测试困难,需要手动应用启发式方法,而且哪些是最好用的并不立即显而易见。也很难知道某些东西是否与 CRNA/Expo 兼容。所以 Native Directory 试图解决这些问题。查看一下并将你的库添加到其中。库列表在这里。这只是我们的第一步,我们希望它由社区拥有和运营,而不仅仅是 Expo 团队。所以如果你认为这有价值并想让它变得更好,请积极参与!
  • Snack 中使用 Expo SDK 19 添加了对安装 npm 包的初步支持。如果你遇到任何问题,请告诉我们,我们仍在解决一些 bug。结合 Native Directory,这应该可以轻松测试只包含 JS 依赖项或包含在 Expo SDK 中的依赖项的库。试试看
  • 发布了 Expo SDK19,其中包含全面的改进,我们现在正在使用更新的 Android JSC
  • 正在与 Alexander Kotliarskyi 一起撰写一份文档指南,其中包含有关如何改善应用用户体验的提示列表。请加入并添加到列表中或帮助撰写其中一些内容!
  • 继续致力于:音频/视频、相机、手势(与 Software Mansion 合作,react-native-gesture-handler)、GL 相机集成,并希望在 SDK20(8 月)首次推出其中一些功能,并在那时对其他功能进行重大改进。我们刚开始在 Expo 客户端中构建后台工作(地理定位、音频、处理通知等)的基础设施。
  • Adam Miskiewicz 在模仿 UINavigationControllerreact-navigation 中的过渡方面取得了不错的进展。查看 他的推文 中的早期版本——很快就会发布。还可以查看他上游MaskedViewIOS。如果你有能力和意愿为 Android 实现 MaskedView,那将非常棒!

Facebook

  • Facebook 正在内部探索将原生 ComponentKitLitho 组件嵌入到 React Native 中的可能性。
  • 非常欢迎对 React Native 的贡献!如果你想知道如何贡献,“如何贡献”指南描述了我们的开发流程并列出了发送你的第一个拉取请求的步骤。还有其他不需编写代码的贡献方式,例如分类问题或更新文档。
    • 截至撰写本文时,React Native 有 635开放问题249开放拉取请求。这对我们的维护者来说是巨大的负担,当内部修复问题时,很难确保相关任务得到更新。
    • 我们不确定在保持社区满意的情况下处理此问题的最佳方法是什么。一些(但不是全部!)选项包括关闭陈旧问题、授予更多人管理问题的权限,以及自动关闭不符合问题模板的问题。我们撰写了“维护者期望”指南,以设定期望并避免意外。如果您对我们如何改善维护者的体验,并确保提出问题和拉取请求的人感受到被倾听和重视有任何想法,请告诉我们!

GeekyAnts

  • 我们在 Chain React 上演示了与 React Native 文件协同工作的设计工具。许多与会者报名了候补名单。
  • 我们还在研究其他跨平台解决方案,如 Google Flutter(即将进行重大比较)、Kotlin NativeApache Weex,以了解它们的架构差异,并从中学习如何改进 React Native 的整体性能。
  • 我们的大部分应用程序都切换到了 react-navigation,这改善了整体性能。
  • 此外,还发布了 NativeBase Market - 一个面向(并由)开发者的 React Native 组件和应用程序市场。

Infinite Red

Microsoft

  • CodePush 现已集成到 Mobile Center 中。现有用户的工作流程将保持不变。
    • 一些人报告了重复应用程序的问题——他们已经在 Mobile Center 上有一个应用程序。我们正在努力解决这些问题,但是如果您有两个应用程序,请告诉我们,我们可以为您合并它们。
  • Mobile Center 现在支持 CodePush 的推送通知。我们还展示了如何将通知和 CodePush 结合起来用于 A/B 测试应用程序——这是 React Native 架构独有的功能。
  • VS Code 在 ReactNative 上有一个已知的调试问题——扩展的下一个版本将在几天内修复此问题。
  • 由于微软内部还有许多其他团队也在从事 React Native 的工作,我们将在下次会议上努力争取所有团队的更好代表。

Shoutem

  • 完成了在 Shoutem 上简化 React Native 开发的过程。在 Shoutem 上开发应用程序时,可以使用所有标准的 react-native 命令。
  • 我们做了很多工作,试图找出如何在 React Native 上最好地进行性能分析。大部分文档已经过时,我们将尽力在官方文档上创建拉取请求,或者至少在博客文章中写下我们的一些结论。
  • 我们正在将导航解决方案切换到 react-navigation,因此我们可能很快会有一些反馈。
  • 我们在工具包中发布了一个新的 HTML 组件,它将原始 HTML 转换为 React Native 组件树。

Wix

  • 我们开始着手为 Metro Bundler 提交一个拉取请求,该请求将支持 react-native-repackager 的功能。我们已经更新了 react-native-repackager 以支持 RN 44(我们正在生产环境中使用)。我们正在将其用于 detox 的模拟基础设施。
  • 在过去三周里,我们一直在使用 detox 测试 Wix 应用。这是一个了不起的学习经验,了解如何在如此规模的应用(超过 40 名工程师)中减少手动 QA。因此,我们解决了 detox 的几个问题,新版本刚刚发布。我很高兴地报告,我们正在履行“零不稳定性政策”,到目前为止测试一直稳定通过。
  • Detox for Android 进展顺利。我们得到了社区的大力帮助。我们预计在大约两周内推出初始版本。
  • DetoxInstruments,我们的性能测试工具,正在变得比我们最初设想的要大一些。我们现在计划将其转换为一个独立的工具,它将不会与 detox 紧密耦合。它将允许全面调查 iOS 应用程序的性能。它还将与 detox 集成,以便我们可以对性能指标运行自动化测试。

下一次会议

下一次会议定于 2017 年 8 月 16 日举行。由于这只是我们的第二次会议,我们想知道这些笔记对 React Native 社区有何益处。如果您对我们如何改进会议成果有任何建议,请随时在 Twitter 上联系我