React Native 0.70 版本正式发布,这个版本有几项改进,比如 Codegen 的新的统一配置、Hermes 作为默认引擎、对 Android 构建的完整 CMake 支持,还有对新架构文档的更新。
具体更新内容如下:
在过去的几个月里,Meta 一直在努力为文档中的 New Architecture 部分增加更多的内容。在新的部分,你可以找到迁移指南、例子和教程,让你尽快掌握。
同时你还可以找到新的文档,深入了解为什么要有一个 New Architecture 和它的各个部分。这能帮助你更好地理解新 API 背后的原理。
React Native 0.70 是第一个默认启用 Hermes 的版本。
这是 Hermes 团队和 React Native 团队合作的结果,Meta 将努力改进和微调 Hermes,使其性能更强,并提供社区高度要求的功能。
在 0.70 版本中,引入了一个统一的方式来定义 iOS 和 Android 的 Codegen 规格。以前你必须把 Android 的配置放在一个单独的 build.gradle 文件中。
现在,你可以直接在 package.json 中定义它:
"codegenConfig": {
"name": "CustomAnimationView",
"type": "components",
"jsSrcsDir": "./src",
"android": {
"javaPackageName": "com.custom.animation"
}
}
这一改进为库维护者在将其代码库迁移到 New Architecture 时提供了更一致的体验。
在 0.70 版本中,New Architecture 的用户能够自动链接库,而不需要在他们的 Android.mk 或 CMake 文件上做任何额外的配置。
自动链接(Autolinking)React Native 开发体验的一个重要部分。它允许你用 yarn add
命令包含外部库,而无需处理 CocoaPods 或 Gradle 设置。
虽然自动链接功能在 iOS 上的 New Architecture 库运行良好,但在 Android 上却并非如此。在 0.70 版本中缩小了这一差距,现在你可以继续在你的项目中加入带有 yarn add
的库:它们会在任何架构上被正确链接。
从 0.70 开始,用户现在可以使用 CMake 来配置他们的 Native 构建了。虽然不希望应用程序的用户直接编写 C++ 代码,但你仍然需要一个本地编译的入口。
从现在开始,你可以使用 CMakeLists.txt
文件而不是 Android.mk
文件来处理你项目中任何与 Android/Native 相关的东西。