Facebook 正式公开 React Native 重构细节!
原标题:Facebook 正式公开 React Native 重构细节!
【CSDN编者按】Facebook 2013 年开发的 React Native 是著名的跨平台移动应用开发工具之一。目前,它不仅是最为活跃的开发者社区之一,还是 GitHub 上贡献者数量最多的开源项目之一。
今年 6 月,为使 React Native 更轻量、更具灵活性以及更适应 Java 生态圈的发展,Facebook 曾对外宣布将对其进行大规模重构,而现在,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工程师。
相关文章
-
vivoAPEX2019户外实验成功,网友:vivo5G手机稳了!
-
夺D大战,京东、拼多多、阿里的台前与幕后
-
买了 iPhone 绝对不能错过的效率神器,捷径应该这么用
-
阿里股权曝光:马云持股降至4.8%蒋凡被除名阿里合伙人
-
特斯拉龙舌兰空酒瓶卖779元一夜间卖完下架
-
腾讯音乐最新股权曝光:腾讯持股57%Spotify为第三大股东
-
12306的放票逻辑是什么?
-
华为打脸美国,三星包揽韩国基站,5G时代真的来了
-
常德发改读书会来了|第1期:做未来时空的穿越者
-
万物互联将至!BAT激战云端,以此抢夺物联网赛道
-
京东数科高征:中国的众筹应该坚守在发布创意、实现梦想的路上
-
豪掷30亿,支付宝能“买”来刷脸支付的未来吗?
-
腾讯公司yoo视频更名为火锅视频,它跟微视不是“两兄弟打架”
-
黄仁勋:英伟达豪赌GPU终获回报,但我更看好高性能计算
-
千乘资本熊伟:2019年产业互联网不会爆发
-
【苹果、谷歌、FaceBook、亚马逊CEO国会听证会改至30日举行】
-
“现场求偶高质量女主播”人类高质量男性官宣首播,女粉狂喊老公
-
开发和运营一款app系统软件一共要多少钱?详细费用表
-
微信显示“正在输入”,其实不是在回复消息中,背后原因很“扎心”
-
【PW早报】苹果将于6月22日在线举办WWDC
-
2020微信公开课:与零售相关的6重利好和5个趋势
-
改革开放拟表彰百名民营企业家名单公布:马云、马化腾等企业家上榜
-
最宅寒假,B站起飞?
-
微软反超苹果重夺全球市值王座,云和开源是绝命双杀
-
平板电脑没活路?华为表示不服
-
华为捐赠鸿蒙最核心基础架构该如何看待?
-
偶邦与斗鱼官宣合作,苹果发布会AI主播亮相
-
网易回应“大量网易邮箱账号遭公开叫卖”:仅涉及邮箱地址,不涉及用户敏感信息
-
扎克伯格又曝丑闻:打压对手、不当竞争,Facebook帝国再度崩塌