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

2018-11-11 11:40:57 来源:网络整理 作者:管理员

原标题:Facebook 正式公开 React Native 重构细节!

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

今年 6 月,为使 React Native 更轻量、更具灵活性以及更适应 Java 生态圈的发展,Facebook 曾对外宣布将对其进行大规模重构,而现在,Facebook 正式公开了关于重构 React Native 的细节。

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

今年,React Native团队将专注于React Native的大规模重构。

Facebook的React工程经理Sophie在她的文章“React Native的现状”(http://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018)中提到,我们制定出了一个计划,可以更好地支持蓬勃发展的React Native用户数量以及Facebook之外的合作者——现在是时候披露我们更多的工作细节了。

在这之前,我想先阐述一下我们针对开源React Native的长期愿景。

我们的React Native愿景是:

  • 一个健康的GitHub代码库。问题和拉取请求可以在合理的时间内得到处理。
  • 增加测试覆盖率。
  • 来自Facebook外部的提交不会破坏开源测试。
  • 更大规模、更有意义的社区贡献。
  • 稳定的API,简化开源依赖的接口。
  • Facebook使用与开源相同的公共API。
  • React Native的发行遵循语义版本控制。
  • 充满活力的生态系统。高质量的ViewManagers,原生模块,以及由社区维护的多平台支持。
  • 优秀的文档。专注于帮助用户创建高质量的体验,并提供最新的API参考文档。

我们认为以下重点领域可以帮助我们实现这一愿景。

精益核心

我们的目标是缩小React Native的核心范围,移除非核心组件和未使用的组件。我们打算将非核心的组件移交给社区,使之能够更快地发展。缩小规模后,也可以更容易地管理React Native的贡献代码。

我们移交给社区的组件之一就是WebView。我们正在制定一个工作流程,可以让内部团队在将组件从代码库移除后仍然继续使用这些组件。我们已经确定将所有权交给社区的组件还有几十个。

内部开源与升级后的工具

Facebook产品团队使用React Native进行开发的体验与开源有很大的区别。

Facebook没有使用开源社区中很流行的工具,但我们有一个内部工具可以实现相同的目的。有些情况下,Facebook团队可能已经习惯了外界没有的工具。面对即将到来的开源架构,这些差异性可能会带来很大的挑战。

我们还将努力发布一些内部工具,改进对开源社区流行工具的支持。以下是我们需要解决的部分项目:

  • 开源JSI,并让社区能够使用他们自己的Java虚拟机,来替换React Native从最初版本就一直在使用的JavaCore。我们会在今后的文章中介绍JSI的详细信息,同时你可以从Parashuram在React大会上的讲话(https://www.youtube.com/watch?v=UcqRXTriUVI)中了解更多有关JSI的信息。
  • 支持Android上的64位库。
  • 在新架构下启用调试。
  • 改进对CocoaPods、Gradle、Maven和新Xcode构建系统的支持。

测试基础架构

Facecbook的工程师在发布代码时,如果通过所有测试,则认为代码是安全的。这些测试可以判断代码改动是否有可能破坏我们自己的React Native功能。然而,Facebook通过不同的方法使用React Native。这些差异会让我们在不知不觉中破坏开源的React Native。

我们将支持内部测试,并确保它们可以在一个非常接近开源的环境中运行。这有助于防止没有通过测试的代码流入开源。我们还将努力开发基础架构,以便在GitHub上更好地测试核心代码库,方便将来的拉取请求可以轻松地包含测试。

再加上React Native核心的规模缩减,贡献代码的人能够更快更自信地合并拉取请求。

公共API

Facebook将会像开源社区一样通过公共API使用React Native,这可以减少无意中做出具有破坏性的改动。

为了解决这个问题,我们已经开始对内部调用进行转换。我们的目标是融合稳定的公共API,以保证在1.0版中采用语义版本控制。

沟通

React Native是GitHub上贡献者数量最多的开源项目之一。对此我们感到非常高兴,我们希望继续保持这种状态。我们将会继续努力采取一些措施(例如提高透明度和公开讨论等)吸引更多的贡献者。

文档是React Native新手会遇到的第一件事,但它并不是我们工作的重点。我们想要解决这个问题,首先我们会重新利用自动生成的API参考文档,创建专注于创建高质量用户体验的其他内容,并改进我们的发行说明。

时间线

我们计划大约在明年完成这些项目。其中有些工作已经在进行中,例如JSI已经开源了。其他项目则需要更长的时间才能完成,例如缩减核心规模等。我们会尽最大努力向社区报告最新的进展。

加入我们的“讨论和提议”代码库(https://github.com/react-native-community/discussions-and-proposals),这是React Native社区发起的一项倡议,我们已经建立了React Native规划中的几项新方案。

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

作者:Héctor Ramos,Facebook工程师。

显示全文
为您推荐
宋伊人、丁泽仁主演的《花青歌》过审,人设有趣,口碑却让人担忧
宋伊人、丁泽仁主演的《花青歌》过审,人设有趣,口碑却让人担忧

2021年由楼健执导,苏晓彤、王子奇领衔主演的《御赐小仵作》可以说取得了不错的口碑与成绩,使这部小成本剧集达到了S+级的热度与播放量,成了近两年来当之无愧的古代仵作题材的古装甜爽探案喜剧。如今距离这部.........

发布时间:2023-06-01 18:03:12

鹅蛋能蒸蛋羹吗
鹅蛋能蒸蛋羹吗

【导读】 鹅蛋能蒸蛋羹吗,下面是小编为你收集整理的,希望对你有帮助!能。鹅蛋是家禽鹅生下的卵,表面较光滑,白色,呈椭圆形,个体很大,其重量是一般鸡蛋的四、五倍,味道有些油,但质地较粗糙,草腥味较重,食味不及鸡鸭蛋,新鲜的鹅蛋必须烹饪后食用。此外,鹅蛋中还含有丰富的营养......

发布时间:2023-06-01 18:01:06

江疏影与王传君同框叙旧
江疏影与王传君同框叙旧

江疏影和王传君,两个看似完全没有交集的名字,在5月28日有了神奇的新反应因为一起参加《五十公里桃花坞3》,老同学很少在镜头前同框。除了花旦 江疏影说,他想和王传君在一起,因为这会让他更有安全感。这也让.........

发布时间:2023-06-01 17:03:17

向日葵传播种子的方法 这些方法可以传播种子
向日葵传播种子的方法 这些方法可以传播种子

【导读】 向日葵传播种子的方法 这些方法可以传播种子,下面是小编为你收集整理的,希望对你有帮助!向日葵不仅可以观赏食用,另外在工业方面也有一定作用,向日葵有很多种不同传播种子的方法,分别是自体传播、风体传播、水体传播、鸟类传播、哺乳类动物传播等,传播范围也是相当广泛。向日葵传播种子的方法1.自体......

发布时间:2023-06-01 17:01:05

《奥本海默》新预告泄露 展示更多新角色
《奥本海默》新预告泄露 展示更多新角色

在很早之前发布首支官方预告后,人们关于克里斯托弗·诺兰自编自导的新片《奥本海默》愈加等待。而近日网上走漏出了一段长达 3 分钟的最新预告,其中展示了更多新角色,包含马特·达蒙、佛罗伦斯·皮尤和小罗伯特.........

发布时间:2023-06-01 16:03:25

纳摩盖吐龙:蒙古超巨型恐龙(长21米/长有钉状牙齿)
纳摩盖吐龙:蒙古超巨型恐龙(长21米/长有钉状牙齿)

【导读】 纳摩盖吐龙:蒙古超巨型恐龙(长21米/长有钉状牙齿),下面是小编为你收集整理的,希望对你有帮助!纳摩盖吐龙是一种蜥脚类恐龙,诞生于7500万年前-7000万年前的白垩纪末期,体长最多可达21米,属于超巨型恐龙的一种,因为出土的四颗钉子状牙齿而被命名,第一批化石发现于蒙古国,因此也叫做蒙古纳摩盖吐......

发布时间:2023-06-01 16:01:04

日内瓦是哪个国家的首都:瑞士的一个城市(并不是首都)
日内瓦是哪个国家的首都:瑞士的一个城市(并不是首都)

【导读】 日内瓦是哪个国家的首都:瑞士的一个城市(并不是首都),下面是小编为你收集整理的,希望对你有帮助!我们知道地球对于人类来说是一个非常大的星球,因此地球上还有许多我们人类没能发掘的地方,而地球上的国家也是非常多的,日内瓦这个城市也是一个比较有名的城市,那么日内瓦是哪个国家的首都呢?它具体又在哪个地方......

发布时间:2023-06-01 15:01:04

《欢迎光临》播出近半,口碑稳中有升
《欢迎光临》播出近半,口碑稳中有升

本报记者 李夏至由正午阳光出品制作的都市生活轻喜剧《欢迎光临》在北京卫视播出接近一半,口碑稳中有升。该剧讲述一个酒店门童和空姐的恋爱故事,看似多少有点悬浮的设定需要大量的生活细节与戏剧手段来弥补。对《.........

发布时间:2023-06-01 14:03:12

月球背面为什么去不了,月球背面到底有什么?
月球背面为什么去不了,月球背面到底有什么?

【导读】 月球背面为什么去不了,月球背面到底有什么?,下面是小编为你收集整理的,希望对你有帮助!作为太阳系中最为特殊的天体,月亮总是以一面面向地球,从来没见过它的背面长什么样,这主要是由于月球的自转和公转周期相同。然而自人类登月成功以来,如今已经成功发射探测器到火星了,但却根本没有月球背面的消息......

发布时间:2023-06-01 14:01:04

朱一龙爆发式的哭戏,刷新演艺圈新水平,拭目以待
朱一龙爆发式的哭戏,刷新演艺圈新水平,拭目以待

朱一龙主演的电影《峰爆》9月17日即将在各大电影院上映,这部属于灾难型的电影,里面没有过多装饰的场景和华丽的服饰。在灾难面前,个人是多么的渺小,他们帮助困难群众,为了保护家园逆行而上,在这期间产生的父.........

发布时间:2023-06-01 13:03:11

鸡胗怎么炒
鸡胗怎么炒

【导读】 鸡胗怎么炒,下面是小编为你收集整理的,希望对你有帮助!用料:小米椒,鸡胗,大蒜,盐,生抽,黄酒。步骤:1、鸡胗冷水下锅,煮变色了捞起切片。鸡胗要切花,一来好看,二来容易熟又保持了爽口感。2、切好的鸡胗加盐加黄酒加生抽腌制半小时以上。3、大蒜切成蒜蓉,小米......

发布时间:2023-06-01 13:01:03

周迅觉得何炅黄磊太像空巢老人
周迅觉得何炅黄磊太像空巢老人

今日何炅晒出与黄磊的《向往的生活7》海报,何炅黄磊两人牵着小h小o画面很温馨夸姣的呢。可是有的网友却戏弄:“如同两个假笑空巢白叟”“孩子们都离开了,就剩俩老人了,能开心吗?”“这笑脸是p的吧?”这一季.........

发布时间:2023-06-01 12:03:13