[ReactNative翻译]新的React Native架构解读——第四部分

221 阅读4分钟

原文地址:formidable.com/blog/2019/l…

原文作者:Lorenzo Sciandra

发布时间:2019年4月16日

React Native重新架构于2018年首次公布,是Facebook为解决这一跨平台移动解决方案的一些长期问题而进行的大规模努力。

在这个系列中,我们将对构成React Native新架构的主要元素进行概述。我们将避免展示代码,以使这一解释尽可能容易理解,并将分享我们对这一新实现的兴奋。

在这最后一篇文章中,我们将处理第一篇文章中介绍的旧架构图的最后一个区块。

这一部分其实并不是直接在代码上迭代的,大部分变化来自于之前的元素如何被重构。

React Native,在更多的概念层面上,希望对其原生平台 "不可知"。这是促成 react-native-webreact-native-windows 等第三方实现的关键特性。

此外,Facebook团队既不拥有iOS平台,也不拥有Android平台,所以最后这块的方法不能 "垂直 "地深入研究这些的行为方式;但可以 "水平 "地减少所涉及的react-native代码库的整体规模。

这种努力被称为 "精益核心",这也是重构架构的方面,社区的帮助是根本。从高层次上来说,这种方法想要实现的是将当前活在主React Native代码库中的代码,提取到自己的仓库中。

这主要有两个好处:减少生成的应用的重量,以及让那些不被Facebook直接使用的元素得到适当的维护。后者在过去受到的关注较少,原因是修改Facebook拥有的代码很复杂。

因此,如果我们要替换这第四个区块,并以此创建React Native新架构的完整图形,这就是结果。

正如你所看到的,Facebook团队的复杂努力影响了React Native工作方式的许多不同方面,而没有显著影响使用它的开发人员。这不是一个小壮举!

新结构的好处将高度提升通过React Native开发的应用,它们与 "纯原生应用 "在质量和性能上的差异将变得越来越小。

这些变化什么时候能准备好并可用?这项庞大的工作很可能会在2019年第四季度或2020年第一季度左右达到结论,但目前还没有确定的日期。鉴于Facebook团队正在公开开发这个重新架构,你可以随时关注更新。在写这篇文章的时候,我们可以总结如下。

  • 新的React = 从0.59版本开始支持16.8(挑剔的是:Suspense从16.6开始就可以部分使用了
  • CodeGen = 主仓库中的开发进行中(专用讨论
  • JSI = 已经在主版上,从0.59版开始就可以使用(但目前没有关于如何使用的直接文档)(专用讨论
  • TurboModules = 主仓库中的开发进程(专用讨论
  • Fabric = 主仓库中的开发进度(专用讨论
  • 精简核心 = 持续不断,详细情况可以参考这个问题(专用讨论

对于上面的大多数观点,我都在GitHub上附上了一个专门的对话链接,其中包含了最新的信息,所以请关注那些最新的信息。

总之,我们认为这项工作展示了React Native的几大增强功能。作为一名React Native开发者,这是一个激动人心的时刻,我们希望这一系列文章能帮助你更好地掌握这些即将到来的巨大变化。

如果是这样的话,请记得将这篇文章分享给你的开发者朋友,或者在Twitter上联系后续问题(DMs是开放的)。

正如你可以想象的那样,我们希望这个博客系列能够激发你的兴奋,让你知道这些变化有多么强大,以及它们将如何影响你的代码库,而不需要任何重写。

所有的人都登上了炒作的列车

其他部分。

第一部分 | 第二部分 | 第三部分

我们要感谢Formidable团队的Kadi和Carlos对这一系列文章的审核,并确保它们是正确的,感谢Mark的图形,感谢Amy的编辑工作。特别鸣谢Facebook React Native团队的Eli White和Rick Hanlon,感谢他们对草稿的校对,确保内容的正确性。


www.deepl.com 翻译