今年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,还需要更多的时间去完成,开发者有任何问题可以在提案中讨论。

查看英文原文:http://facebook.github.io/react-native/blog/2018/11/01/oss-roadmap

React Native重构路线图发布!相关推荐

  1. 爱奇艺回应遭做空;百度 App 部分频道停更;React Native 0.62 发布 | 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  2. Facebook 正式公开 React Native 重构细节!

    [CSDN编者按]Facebook 2013 年开发的 React Native 是著名的跨平台移动应用开发工具之一.目前,它不仅是最为活跃的开发者社区之一,还是 GitHub 上贡献者数量最多的开源 ...

  3. React 2019年路线图发布!Hooks明年一季度上线

    你可能在之前的一些文章和演讲中听过"Hooks"."Suspense"和"并发渲染"等新特性. 在这篇文章中,我们将介绍它们在React稳定 ...

  4. React Native发布重构路线图

    React Native作为时下最热门的跨平台开发方案,在这两年的移动跨平台方案中可谓一枝独秀,在很多的移动产品中都可以看到它们的影子,相比国内的Weex,RN的迭代更加频繁,性能上也无限的接近原生应 ...

  5. React Native初探

    React Native初探 转自:博客园 叶小钗  前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP ...

  6. 庖丁解牛!深入剖析React Native下一代架构重构

    Facebook在2018年6月官方宣布了大规模重构React Native的计划及重构路线图.目的是为了让React Native更加轻量化.更适应混合开发,接近甚至达到原生的体验.(也有可能是Re ...

  7. React Native 宣布重构计划!

    web前端教程 用大白话,来讲编程 6月中旬 Facebook 曾宣布要对 React Native 进行大规模重构,旨在使其更轻量,更具灵活性,更适应 JavaScript 生态圈的发展. 现在 F ...

  8. React Native 0.59.0 发布,使用 React 编写原生应用

    React Native 0.59.0 发布了.React Native 使开发者只使用 JavaScript 也能编写原生移动应用. 新版更新亮点: React Hooks React Native ...

  9. React Native App设置amp;Android版发布

    React Native系列 <逻辑性最强的React Native环境搭建与调试>  <ReactNative开发工具有这一篇足矣>  <解决React Native ...

  10. Facebook 正在大规模重构 React Native

    web前端教程 用大白话,来讲编程 Facebook 五年前为 React Native 框架设计的原则,影响了与 JavaScript 代码的整合程度,也加大了某些特性的开发难度. 因此 Faceb ...

最新文章

  1. 算一串数字的entropy_2020520|一个万年一遇有爱的日子,网友:就是一串数字
  2. Linux Kernel TCP/IP Stack — L3 Layer — netfilter/iptables 防火墙
  3. 汇编语言--CPU对外设的控制
  4. Smart Form Tutorial(适用新手学习)
  5. PostGIS容器运行
  6. [书目20170308]卓有成效的管理者
  7. python基础元组(五)
  8. 软件设计师17-网络基础知识
  9. WCF(四) 绑定
  10. linux下thinkpad X1 carbon 2018 电源管理
  11. 电容式触摸感应按键解决方案(转载)
  12. 一天破万:二十一个微信公众号推广技巧
  13. 编程语言分类-编译型,解释型
  14. css 字符间距,单词间距
  15. 服务器w8系统如何重装,华硕w8系统重装图文教程
  16. python 高精度时间_如何基于Python代码实现高精度免费OCR工具
  17. 通过网线连接获取树莓派的ip地址
  18. 第0篇日记 先立一个flag——开始有了做阅读器的想法
  19. ctfshow--node.js漏洞
  20. 第一周《人月神话》读书笔记-------黄志鹏

热门文章

  1. 【易实战】Spring Cloud Greenwich版本发布
  2. 2021-10-25双塔模型
  3. C++例4.11 求两个或三个正整数中的最大数,用带有默认参数的函数实现。
  4. css 背景图 左右空白,缩小窗口时CSS背景图出现右侧空白BUG的解决方法
  5. 枚举、自动装箱与注解(元数据)
  6. 实现链表翻转的两种方法
  7. oracle删除导入库,oracle数据库删除和导入方法
  8. 2020牛客多校训练1 H Minimum-cost Flow(最小费用流)
  9. 三次握手四次挥手必掌握,看了绝对不吃亏!
  10. 面试必掌握的redis的问题