经过近两个月的优化后,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.mk 或 CMake 文件上做任何额外的配置。
同时,自动链接是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