跳到主要内容

迈向 Hermes 成为默认引擎

· 阅读需 13 分钟
Xuan Huang
Xuan Huang
Software Engineer @ Meta

自从我们在 2019 年宣布 Hermes以来,它在社区中的采用率不断提升。Expo 团队维护着一个流行的 React Native 应用元框架,最近在被列为 Expo 最受期待的功能之一后,宣布了对 Hermes 的实验性支持后续支持。而Realm,一个流行的移动数据库,也近期发布了对 Hermes 的alpha 支持。在这篇文章中,我们想重点介绍过去两年里推动 Hermes 成为 React Native 最佳 JavaScript 引擎的一些最激动人心的进展。展望未来,我们相信,凭借这些改进和即将到来的更多更新,我们可以让 Hermes 成为所有平台上 React Native 的默认 JavaScript 引擎。

React Native 招聘经理,拓展移动端以外的平台

· 阅读需 2 分钟
Eli White
Eli White
Software Engineer @ Meta

我们最近分享了React Native 的多平台愿景,介绍了将 React 拓展到其他平台如何提升整个框架。过去几年中,我们通过与微软合作开发 Windows 和 macOS 版本的 React Native,以及与 Oculus 合作进行 VR 版本的 React Native,取得了显著进展。

正如我们今年早些时候的计划所述,我们正在加大对这些平台的关注并扩大团队规模,以实现我们的愿景。为了支持我们新的团队成员以及未来更多的员工,我们正在招聘两位工程经理:一位负责支持 React Native 桌面端,另一位负责支持 React Native VR 端

React Native 的多平台愿景

· 阅读需 9 分钟
Christine Abernathy
Christine Abernathy
Developer Advocate @ Meta
Eli White
Eli White
Software Engineer @ Meta
Luna Wei
Luna Wei
Software Engineer @ Meta
Timothy Yung
Timothy Yung
Software Engineer @ Meta

React Native 在提升移动开发水平方面取得了巨大成功,无论是在 Facebook 还是在整个行业内。随着我们以新的方式与计算机互动,以及新设备的不断发明,我们希望 React Native 能够服务于每一个人。尽管 React Native 最初是为构建移动应用而创建,我们相信专注于多平台并针对每个平台的优势和限制构建会产生共生效应。当我们将这项技术扩展到桌面和虚拟现实领域时,已经看到了巨大的好处,我们很高兴与大家分享这对 React Native 未来意味着什么。

2021年下半年 React Native 发展

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

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

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

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

宣布 React Native 0.65 版本发布

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

今天我们发布了 React Native 0.65 版本,带来了新版 Hermes、无障碍功能改进、依赖包升级等诸多更新。

Hermes 0.8 有哪些新特性?

Hermes 是 Facebook 为 React Native 优化的开源 JavaScript 虚拟机,本次升级到了 0.8.1 版本。本次发布的一些亮点功能包括:

完整的 Hermes 更新日志请见此处

如果你尚未启用 Hermes,请按这里的步骤将你的应用切换到 Hermes,以享受以上新特性和性能提升!

无障碍修复和新增功能

去年,Facebook 承诺加入 GAAD 提升 React Native 的无障碍体验。0.65 版本汇报了该承诺带来的成果以及其他无障碍改进!主要变化包括:

  • 允许在 iOS 上指定高对比度的浅色和深色值,详情请参阅文档
  • 在 Android 上新增了 getRecommendedTimeoutMillis API。该接口公开了用户在 Android 无障碍选项中设置的默认超时时间,方便需要更多时间查看或操作控件的用户。
  • 修复了 TalkBack/VoiceOver 对组件状态(例如 disabledunselected)的正确朗读。

你可以在这里关注或参与我们待解决的无障碍问题

依赖版本更新及注意事项

  • react-native-codegen 版本 0.0.7 现在需要作为 package.json 中的 devDependency
  • JCenter 已经停止服务并转为只读。我们已移除 JCenter Maven 仓库,相关依赖改用 MavenCentral 和 Jitpack。
  • OkHttp 升级到 v4.9.1,详情参见升级到 OkHttp 4
  • Flipper 升级到 0.93 版本,以支持 Xcode 12.5。详见 Flipper 更新日志
  • 支持 Android Gradle Plugin 7。
  • Apple Silicon 需要链接器的补丁,具体见 @mikehardy 的说明

感谢!

此次发布包含了来自 61 位贡献者 的超过 1100 条提交。感谢所有为本次版本贡献和支持的朋友!完整更新日志请见 这里

GAAD 承诺 — 一年后的回顾

· 阅读需 6 分钟
Alexandra Marlette
Alexandra Marlette
GAAD Pledge Open Source Accessibility Community Manager for React Native

距 Facebook 承诺加入 GAAD Pledge 以提升 React Native 无障碍功能已有一年,该项目超出了我们的预期。我们很高兴宣布,这个项目将在 2021 年持续推进,并希望向大家更新迄今为止的进展情况。在去年对 React Native 无障碍差距进行全面分析后,填补这些差距的工作已经开始。

我们从 90 个未解决的差距分析问题入手,自 2021 年 3 月该项目在 GitHub 启动以来,到现在为止:

  • 社区关闭了 11 个问题。

  • React Native 团队评估并关闭了 19 个问题。

  • 9 个拉取请求被合并。

  • 1 个拉取请求被合并到 React Native 文档中。

我们要感谢 React Native 社区在过去一年里为打造更无障碍的 React Native 所做的重大努力。每位贡献者的付出都促进了 React Native 无障碍性的提升。

GAAD 承诺 - 3 月无障碍问题更新

· 阅读需 4 分钟
Alexandra Marlette
Alexandra Marlette
GAAD Pledge Open Source Accessibility Community Manager for React Native

自从我们向 GitHub 社区发布详尽审核的差距分析及改进 React Native 无障碍性的议题列表,已经过去四周。在 React Native 社区的帮助下,我们在提升无障碍性方面已经取得了显著进展。社区成员一直在帮助贡献者、审核测试并关注之前的无障碍问题。自 3 月 8 日以来,社区关闭了六个问题,包括四个合并请求,还有七个其他合并请求正在审查流程中。

在这项工作持续进行的同时,Facebook 的 React Native 和无障碍团队正在评估这项倡议之前提交的无障碍缺陷和问题,确认它们是否已包含在现有的差距分析中,或者是否有额外的问题需要纳入项目。已发现一个新的问题并已纳入项目,另外四个问题直接映射到现有问题,预计还有两个问题通过解决其根本原因的现有问题将被关闭。

感谢所有参与的社区成员。你们正真正推动 React Native 更加无障碍,造福所有人!