跳到主要内容

2021年下半年 React Native 发展

· 阅读需 5 分钟
Luna Wei
Luna Wei
Software Engineer @ Meta

过去一年,我们的世界变化巨大,React Native 也不例外。我们欢迎了新成员加入团队(期待将来能与他们见面!),项目日益成熟,也涌现了新的机遇。很高兴在本文及后续文章中与大家分享这一切!

在 Facebook,我们的团队按半年为一个周期工作。每个半年周期,我们会检视战略、制定计划,并在内部共享。今天,我们想与社区分享2021年下半年的计划。

2021年下半年对 React Native 来说是激动人心的一段时间。我们的关注重点包括培养社区、开始向开源社区推广新架构,以及推动技术进步。

为社区成功奠定基础

React Native 的开源生态系统是其最大优势之一。我们确定了以下几个领域,作为加强与社区合作的最佳路径。

社区参与

为了让大家朝着同一方向前进,我们希望不断向社区传达我们的愿景和进展。目前公开分享我们渐进式进展还不是我们的“第二天性”。本半年,我们承诺保持更稳定的内容发布节奏,锻炼这项能力并建立降低摩擦的流程。除了分享更新外,我们还希望借此机会展示社区的成就。

新架构推广与发布

上半年,我们完成了 Facebook 应用内所有 React Native 移动端产品的新架构推广。Facebook 由多个界面组成,如市场标签页和约会简介等,我们已迁移超过1000个界面!

下半年,我们将把这一新架构带到开源社区。我们已制定了迁移库和应用的操作手册,且已与维护知名 React Native 库的早期合作伙伴分享了草稿。我们期望得到他们的反馈,支持他们升级库,并了解如何改进手册与实现方案。工作稳定后,我们计划更广泛地分享该手册。

我们还专注于改进 React Native 的发布流程。要逐步发布新架构,我们需要频繁且可靠的版本。目标是更早发现阻挡发布的问题,缩短发布周转时间,实现更可预测的发布周期,同时减轻贡献者和开发者的负担。

仓库健康状况

开发者在评估技术时,仓库健康是重要指标。该印象由如PR处理速度、星标数、最新提交距今时间等信号构成。React Native 仓库历来缺乏确保问题和PR及时审阅的流程。本半年工作有两方面:消化大量积压贡献,以及建立可持续处理新贡献的实践。我们希望此项工作也能为社区使用新架构后,更多通过问题和PR形式参与打下基础。可通过此项目面板关注我们对积压的处理进展。

推动技术进步

新架构能力

如前所述,我们的新架构最近已覆盖 Facebook 移动端应用!我们已在构建能显著改变 React Native 性能曲线的新功能。包括支持 React 的并发渲染。并发渲染使 React 能够暂停和恢复任务,快速响应高优先级事件(如触控手势)。我们也非常兴奋能利用并发渲染在空闲 CPU 周期时为离屏产品功能渲染,从而不影响屏幕上用户交互的流畅。

移动端及更多平台

Facebook 移动端 React 应用取得巨大成功,也见证了合作伙伴出色的移动产品。现在,我们希望将成功经验拓展到更多平台!我们相信面向多平台能带来新启发,进一步完善移动端产品。(后续文章将详细介绍。)令人振奋的是,我们已开始迈出实现这目标的步伐!

Messenger 桌面端

去年夏天,我们将关注点扩展至移动端外,与微软合作推动 React Native 在 Windows 和 macOS 的发展。我们联手 Facebook 的 Messenger 团队,打造仅桌面端才有的用户体验,并在性能上远超其之前的 Electron 实现。愿景是将高质量且愉悦的原生桌面体验与 React Native 优秀的开发体验结合。

Messenger 团队对桌面版 Messenger 有宏伟规划,包括探索更好地发挥桌面平台及大屏幕独特能力的新方案。我们很高兴能持续通过投入推动桌面端 React Native,实现这些体验。

React Native 在虚拟现实中的应用

Oculus 长期以来都在使用 React Native 支撑核心体验,如 VR 中用于购买应用和游戏的商店。下半年,React Native 和 Oculus 合作,把更多令人兴奋的体验带入虚拟现实。我们也在将 VR 的优化和改进反哺移动端,反之亦然。这将包括扩展 React Native 支持 VR 独特需求——从控制器等新输入方式到新的内存优化技术。这是一次激动人心的旅程,我们将探索并影响如何用 React Native 构建沉浸式 VR 体验。

总结

我们希望下半年的计划能像激励我们一样激励你们,期待在未来几个月分享更多内容!我们也将在2021年9月1日参加 React Native EU,团队成员 Joshua Gross (@joshuaisgross) 将分享如何替换世界最大 React Native 应用架构。还没报名的话请点此注册 React Native EU!同时,通过 Twitter (@reactnative) 关注我们,获取活动、路线图等最新动态。