跳到主要内容

React Native 月报 #2

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

React Native 月度会议继续进行!本次会议,我们迎来了 Infinite Red,他们是 React Native 大会 Chain React 的杰出策划者。由于大部分与会者都在 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 Miskiewiczreact-navigation 中模仿 UINavigationController 的过渡方面取得了不错的进展。在他的推文中查看其早期版本 - 即将随之发布。另请查看他上游化MaskedViewIOS。如果您有能力和意愿为 Android 实现 MaskedView,那将非常棒!

Facebook

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

GeekyAnts

  • 我们在 Chain React 上演示了与 React Native 文件协同工作的 Designer Tool。许多与会者报名加入了等候名单。
  • 我们还在研究其他跨平台解决方案,如 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 在 React Native 上有一个已知的调试问题——扩展的下一个版本将在几天内修复这个问题。
  • 由于 Microsoft 内部还有许多其他团队也在从事 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 的模拟基础设施。
  • 过去三周,我们一直在对 Wix 应用进行 detox 测试。这是一个令人惊叹的学习经验,了解如何在如此规模的应用(超过 40 名工程师)中减少手动 QA。因此,我们解决了 detox 的几个问题,并刚刚发布了一个新版本。我很高兴地报告,我们正在践行“零片状性策略”,并且到目前为止测试一直稳定通过。
  • 适用于 Android 的 Detox 进展顺利。我们正在获得社区的大力帮助。我们预计将在大约两周内发布初始版本。
  • DetoxInstruments,我们的性能测试工具,正在变得比我们最初计划的更大。我们现在计划将其转变为一个独立的工具,它将不会与 detox 紧密耦合。它将允许普遍调查 iOS 应用的性能。它还将与 detox 集成,以便我们可以对性能指标运行自动化测试。

下一次会议

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