迈向将 Hermes 设为默认引擎
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
自2019 年我们发布 Hermes 以来,它在社区中的采用率日益提高。Expo团队维护着流行的 React Native 应用元框架,最近在用户最期待的功能投票中胜出后,宣布了实验性支持Hermes。流行移动数据库Realm团队也于近期发布了 alpha 支持。本文将重点介绍过去两年间我们推动 Hermes 成为 最佳 React Native JavaScript 引擎的重大进展。展望未来,我们相信通过这些改进及后续优化,能让 Hermes 成为所有平台上 React Native 的默认 JavaScript 引擎。
React Native 0.66 正式发布
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
今天我们正式发布 React Native v0.66 版本,提供对 Android 12 和 iOS 15 的支持,同时包含多项修复和常规更新。
重点详解
为 iOS 15 和 Android 12 准备你的应用
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
大家好!
随着今年晚些时候新版移动操作系统即将发布,我们建议您提前准备 React Native 应用,避免在正式版发布时出现功能退化问题。
React Native 正在招聘工程经理,将技术版图拓展至移动端之外
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
我们近期发布了 React Native 多平台愿景,阐述了将 React 扩展到更多平台如何惠及所有开发者。过去两年间,通过与微软合作推进 React Native for Windows/macOS,以及携手 Oculus 实现 React Native in VR,我们已在实践该愿景方面取得重大进展。
根据今年早些时候启动的计划,我们将持续深化多平台支持并扩充团队规模。为助力新成员及未来更多伙伴,现招聘两名工程经理:一名负责支持 React Native 桌面端开发,另一名专注 React Native VR 领域。
React Native 的多平台愿景
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
React Native 在提升移动开发标准方面取得了巨大成功,无论是在 Facebook 内部还是整个行业。随着我们以新方式与计算机交互以及新设备的不断涌现,我们希望 React Native 能够服务于所有人。尽管 React Native 最初是为构建移动应用而创建的,但我们相信聚焦多平台开发、针对每个平台的优势和约束进行构建能产生共生效应。当我们将这项技术扩展到桌面和虚拟现实领域时,已经看到了巨大收益,我们非常期待分享这对 React Native 未来的意义。
React Native 2021 下半年动态
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
过去一年间世界巨变,React Native 也不例外。我们迎来了团队新成员(期待早日线下见面!),项目日趋成熟,新机遇不断涌现。我们将在本文及后续文章中与大家分享这些进展!
在 Facebook,团队采用半年工作周期制。每个周期我们都会评估策略、制定计划并在内部同步。今天,我们想向社区公开分享下半年的规划。
2021 下半年对 React Native 将是激动人心的半年。我们将聚焦三大方向:培育社区、向开源生态逐步推广新架构,以及推进技术发展。
React Native 0.65 正式发布
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
今天我们发布 React Native 0.65 版本,带来了新版本的 Hermes、可访问性改进、包升级等多项更新。
Hermes 0.8 有哪些新特性?
专为 React Native 优化的开源 JavaScript 引擎 Hermes 已升级至 0.8.1 版本。本次更新的主要亮点包括:
-
全新的并发垃圾回收器 "Hades",在 64 位设备上将暂停时间缩短高达 30 倍。在 Facebook 内部测试中,某些 CPU 密集型工作负载性能提升了 20%-50%。点击此处了解 Hades 详情。
-
ECMAScript 国际化 API (ECMA-402,即
Intl) 现已内置到 Android 版 Hermes 并默认启用,每个 API 仅增加 57-62K 空间开销(相比 JSC 的 6MiB)。从此 Hermes 用户不再需要地区设置 polyfill。特别感谢 @mganandraj 和微软团队推动实现此功能! -
内存优化包括 SMI(小整数)和指针压缩技术,使 JS 堆内存缩减 30%。
-
对
Function.prototype.toString的改进修复了因不当功能检测导致的性能下降,同时支持源代码注入场景。
完整更新日志请参阅 Hermes 发布记录。
若尚未启用 Hermes,请按此步骤操作以获取新特性和性能提升!
可访问性修复与新增功能
去年 Facebook 作出 GAAD 承诺以改进 React Native 可访问性。0.65 版本兑现了该承诺并带来多项改进:
-
支持为 iOS 指定高对比度亮/暗色值,详见动态颜色文档。
-
Android 新增
getRecommendedTimeoutMillisAPI,可获取用户在无障碍设置中配置的超时值,适用于需要额外操作时间的场景。 -
多项基础修复确保 TalkBack/VoiceOver 正确播报组件状态(如
disabled禁用状态和unselected未选中状态)。
欢迎参与解决未完成的可访问性问题!
重要依赖更新与注意事项
-
需在
package.json中添加react-native-codegen版本0.0.7作为devDependency。 -
JCenter 已停止维护进入只读模式,我们已将其从 maven 仓库移除,依赖项更新至 MavenCentral 和 Jitpack。
-
已将 OkHttp 从 v3 升级至 v4.9.1。变更详情请参阅升级至 OkHttp 4。
-
升级至 Flipper 0.93 以支持 Xcode 12.5。请查阅Flipper 更新日志。
-
支持 Android Gradle Plugin 7
-
Apple Silicon 设备需要链接器变通方案。详情请参阅@mikehardy 的说明。
致谢!
此版本包含来自 61 位贡献者的 1100 多次提交。感谢所有为此版本做出贡献的开发者!您可在此处查看完整更新日志。
GAAD 承诺一周年回顾
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
自 Facebook 作出GAAD 承诺提升 React Native 的无障碍功能已满一年,项目进展远超预期。我们欣喜地宣布该项目将在 2021 年持续推进,并在此同步当前成果。去年完成对 React Native 无障碍功能缺口的全面分析后,我们立即启动了填补工作。
初始阶段共梳理出 90 个待解决的无障碍功能缺口,从 2021 年 3 月项目在 GitHub 启动至今:
-
11 个 issue 由社区成员关闭
-
19 个 issue 经 React Native 团队评估后关闭
-
9 个 pull request 已完成合并
-
1 个 pull request 被合并至 React Native 文档
我们由衷感谢 React Native 社区过去一年为提升框架无障碍功能做出的重大贡献。每位参与者的努力都在推动 React Native 无障碍体验的进步中发挥了重要作用。
GAAD 承诺 - 三月可访问性问题更新报告
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
自我们向 GitHub 社区提交经过全面审查的差距分析和问题清单以改进 React Native 的可访问性以来,已过去四周。在 React Native 社区的帮助下,我们在提升可访问性方面已取得显著进展。社区成员积极协助贡献者、审查测试用例,并推动解决历史遗留的可访问性问题。自 3 月 8 日至今,社区已通过 4 个拉取请求关闭了 6 个问题,另有 7 个拉取请求正在审核流程中。
在持续推进此项工作的同时,Facebook 的 React Native 团队和可访问性团队正在评估此前提交的历史缺陷报告,以确定它们是否已被现有差距分析覆盖,或是否需要纳入新的待解决问题。目前我们已发现 1 个新问题并纳入项目,4 个问题直接映射到现有问题,另有 2 个问题预计将通过解决根本性问题的现有方案关闭。
衷心感谢所有参与的社区成员!你们切实推动了 React Native 的无障碍化进程,让每个人都能更便捷地使用这项技术!






