HarmonyOS 关于ArkTS中使用Rn搭建问题

基于资料ReactNative for OpenHarmony CAPI版本开发使用指导-5.00.0.302.pdf 中4.2内容搭建,Rn部分功能模块。如图中cpp模块是否必须,处理主要用来通信是否还有其他作用。

HarmonyOS 关于ArkTS中使用Rn搭建问题 -鸿蒙开发者社区

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

CMakeLists.txt配置文件引入cpp文件配置,三方库配置。

packageProvider.cpp,引入三方库时,需要在这里加入引入的包名,比如:#include “WebViewPackage.h” 和std::make_shared<WebViewPackage>(ctx),详情可以参考rn资料中参考三方库的引入。

SampleTurboModulePackage.cpp SampleTurboModulePackage.h 这两个文件应该是对引入的三方包进行使用,通常引用三方库不需要对这里进行修改,是对三方库通信的,这里就会引用到TurboModule里面的文件。

RN这个文件夹主要是选择不同ArkTS还是capi,在config.ts中// ArkTS/CAPI 开关配置 export const ENABLE_CAPI_ARCHITECTURE = true; 通过配置对rn和HarmonyOS侧链接所使用的ArkTS和capi进行一个选择,建议使用capi,后期主要维护和升级的是capi.

TurboModule这里主要是用于同通信的。

TurboModule:TurboModule是React Native中的一种新的原生模块系统,TurboModules是创建利用某些平台特定API的库的首选方法。它与Fabric和JSI结合使用,可以提供更高效的原生模块调用方式。

TurboModule是React Native中的一个新特性,它旨在改善原生模块(Native Modules)的性能和可维护性。可以通过React Native的「Bridge」帮助JavaScript和原生代码进行交互,并使用跨平台的数据格式 JSON 进行通讯。

旧架构启动时Native会加载所有的Native Modules,导致启动性能变差,以及RAM资源占用大。

Turbo Native Modules与Native Modules相比,存在以下优势:

各个平台的强类型接口声明是一致的;

可以使用C++编写模块或迁移其它平台的原生代码,以此避免在跨平台重复实现模块;

模块支持懒加载,可以节省内存,加快App启动速度;

通过替换Bridge为JSI(使用原生代码编写的 JavaScript 接口),提升JavaScript与原生代码的通讯效率。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何在ArkTS中使用注解?
252浏览 • 1回复 待解决
arkts 关于异步的问题
351浏览 • 1回复 待解决
HarmonyOS 关于ArkTS中的!使用
773浏览 • 1回复 待解决
HarmonyOS 关于仓颉和ArkTS问题
37浏览 • 2回复 待解决
如何在ArkTS中使用闭包
632浏览 • 1回复 待解决
HarmonyOS关于TS转ArkTS的语法问题
444浏览 • 1回复 待解决
HarmonyOS Text 中使用 ImageSpan 问题
513浏览 • 1回复 待解决
关于 Extend 使用问题
318浏览 • 1回复 待解决
内网开发环境搭建问题
208浏览 • 1回复 待解决
HarmonyOS 关于Iconfont如何使用问题
340浏览 • 1回复 待解决
HarmonyOS 关于使用@BuilderParam的问题
417浏览 • 1回复 待解决
HarmonyOS关于API使用问题
418浏览 • 1回复 待解决
mysqldump搭建从库同步数据问题
3142浏览 • 0回复 待解决
HarmonyOS关于异步Promise的使用问题
471浏览 • 1回复 待解决
HarmonyOS RN相关问题
536浏览 • 1回复 待解决
HarmonyOS RN Codegen问题
56浏览 • 1回复 待解决
jenkins容器中使用docker报错问题
7568浏览 • 2回复 待解决
关于 SO 文件的使用问题
259浏览 • 1回复 待解决