React Native 0.70 版本发布,Hermes 成为默认引擎

时间:2024-10-02 11:38:48

在这里插入图片描述

经过近两个月的优化后,React Native发布了0.70版本,主要带来了如下的一些功能:

  • 新架构涉及的文档的更新;
  • Hermes 作为默认引擎
  • Codegen 新的统一配置
  • Android 库自动链接
  • 对 Android 构建的完整 CMake 支持
  • 其他亮点

1,New Architecture 的新文档

在过去的几个月里,Meta一直在努力为文档中的New Architecture部分增加更多的说明内容。在新增的内容中,开发者可以很容易的找到迁移指南、例子和教程,让你尽快的掌握新架构的内容。

同时,开发者还可以通过新的文档,深入了解为什么要提供一个New Architecture 和它的各个部分,因为这能更好的帮助开发者理解新 API 背后的原理。

2,Hermes 作为默认引擎

React Native 0.70 是第一个默认启用Hermes 的版本。这是 Hermes 团队和 React Native 团队合作的结果,Meta 将努力改进和微调 Hermes,使其性能更强,并提供社区高度要求的功能。

关于Hermes介绍,大家可以参考【Hermes将成为React Native默认的JS引擎】和【React Native新架构】的相关介绍。

3,Codegen 新的统一配置

在 0.70 版本中,引入了一种统一的方式来定义 iOS 和 Android 的 Codegen 规格。在之前的版本中,你必须把 Android 的配置放在一个单独的 build.gradle 文件中,现在你可以直接在 中定义它,比如。

  "codegenConfig": {
    "name": "CustomAnimationView",
    "type": "components",
    "jsSrcsDir": "./src",
    "android": {
      "javaPackageName": ""
    }
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这一改进为库维护者在将其代码库迁移到New Architecture时提供了更一致的体验,效率和维护成本也得到了降低。

4,Android 自动链接

在0.70版本中,New Architecture的用户能够自动链接原生库,而不需要在他们的Android.mkCMake 文件上做任何额外的配置。

同时,自动链接是React Native 开发体验的一个重要部分,它允许开发者使用用 yarn add 命令包含外部库,而无需额外处理CocoaPods或Gradle设置。

虽然自动链接功能在 iOS 上的 New Architecture 库运行良好,但在 Android 上还有一些差强人意。不过,在 0.70 版本中,我们针对Android环境进行了优化,最终缩小了这一差距,现在可以继续在你的项目中加入带有 yarn add 的库,它们会在任何架构上被正确链接。

5,对 Android 构建的全面 CMake 支持

从 0.70 开始,用户现在可以使用 CMake 来配置他们的 Native 构建了。虽然不希望应用程序的用户直接编写 C++ 代码,但你仍然需要一个本地编译的入口。

从现在开始,你可以使用 文件而不是 文件来处理你项目中任何与 Android/Native 相关的东西。

6,升级依赖

  • 安装0.70 版本需要做如下升级:
  • 将 RN CLI 升级到 9.0.0 版本
  • 将 Android Gradle Plugin 升级到 7.2.1
  • 将 Gradle 升级到 7.5.1
  • 将 RCT-Folly 升级到 2021-07-22
  • 将 Metro 升级到 0.72
  • 将 SoLoader 升级到 0.10.4

参考链接:/blog/2022/09/05/version-070