学习
实践
活动
专区
工具
TVP
写文章

React Native重构路线图发布!

今年6月中旬,FB曾宣布他们将大规模重构React Native,目的是为了让React Native更轻量,更适应 JavaScript 生态圈的发展。最近,Facebook正式公开了他们计划的一些细节:

1. 让RN的GitHub存贮库更健康,issues和 pull请求将及时得到处理;

  • 提高测试覆盖率
  • 从Facebook代码存储库同步的Commits不能违背开源测试的准则
  • 提升社区的贡献量

2. 稳定API,使之更容易与开源依赖项交互;

  • Facebook使用与开源相同的公共API
  • React Native将遵循语义版本标准

3. 让生态系统更加有活力,社区将提供高质量的ViewManagers、native modules、多平台支持;

4. 文档优化,专注于帮助用户创建高质量的体验,以及最新的API参考文档。

核心目标

RN团队的目标是通过删除非核心和无用的组件来简化RN,将非核心组件转移到社区,让开发者使用更加便捷,他们目前已经决定将这些组件的所有权为社区所拥有

WebView就是其中的一个实例

与此同时,RN团队还在开发一个工作流,它将允许内部团队在存储库中删除这些组件后还能够继续使用它们。

开源内部开发工具

由于Facebook内部开发人员用的是内部开发工具,开发体验与开源的完全不同,在开源社区受欢迎的那些工具可能并没有被Facebook开发人员使用,在某些情况下,Facebook团队已经习惯使用仅限Facebook内部使用的工具,这种内外差异可能会很大程度影响他们接下来的重构工作。

为此,他们做了如下改进:

  • 开源JSI,使社区能够使用自己的JavaScript VMs,从RN的初始版本中替换现有的JavaScriptCore,有关JSI的信息,他们未来会公布,现在你可以先通过React Conf大会上的演讲视频了解。
  • 支持Android上的64位库
  • 新架构下支持调试
  • 改进对CocoaPods、Gradle、Maven和新Xcode构建系统的支持

建设测试基础设施

当Facebook工程师发布代码时,如果通过所有测试,则认为代码可以上线了,这些测试可以判断某些改动是否会破坏React Native,由于Facebook使用React Native的方式与外部存在差异,他们可能在不知不觉中破坏了开源环境中的React Native。

为此,Facebook将支持内部测试,确保它们在尽可能接近开源的环境中运行。这将有助于防止被破坏的代码开源。同时,他们还将致力于建设测试基础设施,以便在GitHub上更好地测试核心存储库,使未来的pull请求能够包含在测试里。

使用公共API

Facebook将通过公共API使用React Native,和开源一样,以减少无意间的破坏性更改,他们的目标是融合稳定的公共API,并在v1.0中采用语义版本控制标准。

加强沟通

React Native是GitHub上贡献者数量最多的开源项目之一(排名第二),未来,Facebook将继续致力于贡献者相关的举措,例如提高透明度和公开讨论。对新手来说,文档将是一个大问题,为此,RN将创建自动生成的API参考文档,改善用户体验。

RN团队称,这些项目将在明年完成,其中,JSI项目已经在进行中,其他的一些改进如简化RN,还需要更多的时间去完成,开发者有任何问题可以在提案中讨论

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址http://www.infoq.com/cn/news/2018/11/react-native-roadmap
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券