跳至主内容

React Native 月度动态 #2

· 1 分钟阅读
Tomislav Tenodi
Shoutem 产品经理
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

React Native 月度会议仍在继续!本次会议我们有幸邀请到 Infinite Red 团队参与,他们是 Chain React 大会(专注 React Native 的技术会议)的幕后智囊。由于多数与会者当时正在 Chain React 发表演讲,我们将会议顺延了一周。大会演讲视频已上线发布,强烈推荐大家观看。现在,让我们看看各团队的最新动态。

与会团队

第二次会议共有 9 支团队参与:

团队动态

以下是各团队带来的最新进展:

Airbnb

Callstack

  • Mike Grabowski 持续管理 React Native 的月度版本发布,包括多个测试版。尤其值得一提的是,他正在推进 v0.43.5 版本在 npm 的发布,该版本将解决 Windows 用户的关键阻塞问题!

  • Haul 项目正稳步推进:已合并添加 HMR 的 pull request,并发布了多项改进。近期成功获得多位行业领袖的采用,未来可能启动该领域的全职商业化开发

  • 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 中新增了 npm 包的初始安装支持(需配合 Expo SDK 19)。若遇到问题请反馈,我们仍在修复部分缺陷。结合 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 内部正探索在 React Native 中嵌入原生 ComponentKitLitho 组件的方案

  • 非常欢迎大家为 React Native 做贡献!如果您想知道如何参与,我们的《贡献指南》详细说明了开发流程和提交首次 PR 的步骤。除了编写代码外,您还可以通过分类 issue 或更新文档等方式做出贡献。

    • 截至本文撰写时,React Native 有 635待处理 issue249待合并 PR。这对维护者来说是巨大的负担,即使问题在内部修复后,也很难确保及时更新相关任务状态。
    • 我们正在探索既能保持社区满意度又能有效管理的方式。可能的方案包括:关闭陈旧 issue、授予更多协作者管理权限、自动关闭不符合模板的 issue 等(但不仅限于此)。我们编写了《维护者职责说明》来明确预期,避免沟通落差。如果您有改善维护者体验的建议,或能让 issue/PR 提交者感受到重视的方案,请随时告知!

GeekyAnts

  • 我们在 Chain React 大会上演示了适用于 React Native 文件的设计工具,许多参会者加入了等候名单。

  • 我们正在研究其他跨平台方案如 Google Flutter(即将发布深度对比)、Kotlin NativeApache Weex,通过理解架构差异来优化 React Native 的整体性能。

  • 已在多数应用中切换至 react-navigation,显著提升了整体性能。

  • 同时发布了 NativeBase 应用市场——面向开发者的 React Native 组件与应用交易平台。

Infinite Red

Microsoft

  • CodePush 已整合至 Mobile Center,现有用户工作流不受影响。

    • 部分用户反馈存在应用重复问题(已在 Mobile Center 创建过应用)。我们正在修复,若您遇到此情况请告知,我们将为您合并应用。
  • Mobile Center 现支持 CodePush 的推送通知功能。我们还演示了如何结合通知与 CodePush 进行 A/B 测试——这是 React Native 架构独有的能力。

  • VS Code 的 React Native 调试功能存在已知问题,扩展程序将在数日内发布修复版本。

  • 鉴于微软内部多个团队都在使用 React Native,我们将协调更多小组代表参与下次会议。

Shoutem

  • 已完成 Shoutem 平台的 React Native 开发优化,现在您可以使用所有标准 react-native 命令进行应用开发。

  • 我们在性能分析方面做了大量探索工作,试图找到最佳实践方案。目前很大一部分性能文档已过时,我们将尽力向官方文档提交PR更新,或者至少通过博文分享我们的研究成果。

  • 正在将导航方案切换至react-navigation,预计很快会提供使用反馈。

  • 在工具包中发布了新版HTML组件,可将原始HTML转换为React Native组件树。

Wix

  • 已着手准备向Metro打包工具提交PR,包含react-native-repackager的功能特性。我们更新了该工具以支持RN 44版本(生产环境正在使用),主要服务于detox的模拟测试基础设施。

  • 过去三周持续为Wix应用添加detox测试覆盖。在这个超40名工程师参与的大型项目中,我们积累了宝贵的自动化测试经验来替代人工QA。期间解决了detox的若干问题,新版已发布。很高兴向各位报告,我们严格遵循"零波动策略",目前测试通过率保持稳定。

  • Android版detox进展顺利,社区贡献显著。预计两周内发布初始版本。

  • 性能测试工具DetoxInstruments的规模超出预期。现计划将其拆分为独立工具,不再与detox强耦合,使其能通用分析iOS应用性能。后续将与detox集成,实现对性能指标的自动化测试。

下一次会议

下次会议定于2017年8月16日举行。由于目前仅举办过两次月度会议,我们非常期待了解这些会议纪要对React Native社区的实际价值。如有改进建议,欢迎通过Twitter随时与我交流。