React Native 0.84 发布 — Hermes V1 成为默认引擎、预构建 iOS 二进制文件与遗留架构移除

React、Node.js、DevOps

React Native 0.84(稳定版)于 2026 年 2 月 11 日发布。这是一次面向移动端和全栈团队的平台性发布,带来切实且高影响的变更:Hermes V1 现已成为默认的 JavaScript 引擎,iOS 构建默认使用预编译的 React Native 二进制文件,Legacy Architecture 的代码已从出货版本中移除,Node.js 的最低要求提升到 Node 22.11+。升级前请阅读发布说明——这将影响构建管线、本地模块和持续集成产物。

为何重要(简要)

  • Hermes V1 默认为默认执行引擎:所有使用内置 Hermes 运行时的项目将自动获得 Hermes V1 VM/编译器,而无需代码变更——这将提升冷启动、内存使用和运行时性能;但它可能改变引擎语义和本地桥接时序特性。
  • 默认使用预构建的 iOS 二进制:由于核心 RN 代码以预构建的 .xcframeworks 下载,而不是在每次构建时从源代码编译,因此 iOS 的干净构建速度更快。这会改变 CI 工具和二进制分发策略。
  • 移除了 Legacy Architecture:Legacy Architecture 的代码路径已从出货的 iOS/Android 构建中物理移除;依赖旧内部结构或私有 API 的项目必须从源码重新构建或进行适配。
  • Node 提升:工具链和持续集成需运行 Node >= 22.11;较旧的 Node 版本将导致 React Native CLI 与相关脚本出错。

面向全栈团队的直接实践清单

  1. 添加一个 Canary 分支,在推进到生产前,在 [email protected] 上运行完整的 CI 矩阵:
    • 重新构建所有原生模块并发布/更新你所依赖的 Node/V8/Hermes ABI 的预构建产物。
  2. CI / 开发环境:
    • 将 CI 镜像和本地开发环境升级到 Node 22.11+(使用 nvm/fnm 固定版本)。
    • 如在 CI 中使用预构建的 iOS 二进制,请验证 pod install 步骤和产物缓存(RCT_USE_PREBUILT_RNCORE)。
  3. 原生模块与预构建二进制:
    • 重新构建并测试每个原生 addon(C++/NDK、CocoaPods 原生代码),使其适配 RN 0.84。预编译的 iOS 框架改变了原生代码的链接方式——若你分发它们,请发布更新后的预构件二进制。
  4. 选择退出与兼容路径:
    • 如要退出 Hermes V1,请从源码构建 RN,或通过包管理器覆盖固定遗留 Hermes 编译器,并遵循各平台的特定标志(示例请参见发布说明)。
    • 若要禁用预构建的 iOS 二进制,在 pod install 时设置 RCT_USE_PREBUILT_RNCORE=0。
    • 若必须重新启用 Legacy Architecture,需要从源码构建并传递 RCT_REMOVE_LEGACY_ARCH=0 及相关标志。
  5. 行为回归测试:
    • 优先进行桥接、对时敏感代码、动画及此前通过遗留内部访问的本地 API 的集成测试。
    • 检查崩溃与遥测管线,关注来自更新的 V8/Hermes 运行时与 Node 工具链的新错误签名。
  6. 工具链与静态检查:
    • 如依赖 RN 推荐的工具链,请更新 ESLint 配置(RN 0.84 支持 ESLint v9 的扁平配置)。
    • 验证任何构建时脚本或打包工具,确保不再假设旧版 Node 或遗留 RN 内部结构。
  7. 无障碍与平台特性:
    • 确认应用的无障碍行为,特别是在 Android 上,已修复的可回收视图无障碍问题。
    • 如依赖 HEIC/HEIF 工作流,请验证图片处理。

迁移说明(实用性)

  • 分阶段 rollout:在测试轨道(内部 Beta)上线 RN 0.84,并逐步推进;前 24–72 小时内密切监控崩溃和性能遥测。
  • 原生预构建:若你向客户或下游团队提供预构建的原生二进制,请协同发布针对 RN 0.84 的更新产物,以避免安装程序/运行时不匹配。
  • 向后兼容性:已在 Hermes 与新架构上的项目应看到的功能变动较小,但请验证触及底层桥接 API 的第三方原生库。

要点 React Native 0.84 是一次有意义的平台升级——它为大多数应用带来即时的性能与开发体验提升(Hermes V1 + 更快的 iOS 构建),但需要对 CI、原生模块和 Node 工具链进行慎重更新。将其视为一次平台升级:阶段性 rollout、重新构建原生制品、在 CI 中升级 Node,并运行聚焦于原生桥接与对时敏感流程的测试矩阵。

来源:React Native 0.84 发布说明。 (reactnative.dev)

资料来源

继续阅读