作为跨平台开发框架的明星产品React Native迎来了0.70版本的更新,此次更新主要是内容是Hermes作为默认js引擎,针对Godegen的新统一配置,支持Androi端CMake的构建以及有关新架构文档的更新说明。
新架构文档
更新了有关新架构的文档介绍,可以通过这个文档获取有关升级指南、示例代码及相关教程等,还有关于旧架构存在的弊端,以及为什么采用新架构的问题说明。
Hermes作为默认js引擎
React Native 0.70是第一个默认启用Hermes的版本。
Codegen新的统一配置选项
新版本0.70中,引入了一种统一的方式来定义iOS和Android的Codegen规范。
现在可以直接在RN原生项目的package.json中统一进行如下定义配置:
"codegenConfig": {
"name": "CustomAnimationView",
"type": "components",
"jsSrcsDir": "./src",
"android": {
"javaPackageName": "com.custom.animation"
}
}
这一改进为第三方库维护者将他们的代码库迁移到新架构提供了更一致的体验。
新架构库支持Android Auto-linking
新版本更好的支持开发者添加第三方依赖,只需要通过使用yarn add 命令就能正确添加依赖,无需修改CocoaPods或Gradle设置。
增加Android构建的完整CMake支持
从0.70开始,开发者可以使用CMake来配置Native构建。
从0.70开始,可以使用CMakeLists.txt文件代替Android.mk文件来处理项目中与Android/Native相关的任何内容。
小知识:
什么是CMake
- 在Android Studio 2.2及以上,构建原生库的默认工具是CMake。
- CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件。CMake并不直接构建出最终的软件,而是产生其他工具的脚本(如makefile),然后再依据这个工具的构建方式使用。
- CMake是一个比make更高级的编译配置工具,它可以根据不同的平台、不同的编译器,生成相应的makefile或vcproj项目,从而达到跨平台的目的。Android Studio利用CMake生成的是ninja。ninja是一个小型的关注速度的构建系统。我们不需要关心ninja的脚本,知道怎么配置CMake就可以了。
- CMake其实是一个跨平台的支持产出各种不同的构建脚本的一个工具。