首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
HarmonyOS实现跨语言交互(Node-API)
返回列表
发新帖
HarmonyOS实现跨语言交互(Node-API)
[复制链接]
发表于 2026-1-31 11:25:50
|
显示全部楼层
|
阅读模式
Node-
API
简介
通过Native接口,实现两种
代码
的交互。
是在Node.js提供的Node-
API
根本上扩展而来,但与Node.js中的Node-
API
不完全兼容。本质就是提供了对C/C++
代码
的使用接口,使得两种
代码
共同工作。规范I/O、CPU麋集型、OS底层等本领。
应用场景
封装C/C++代码,通过ArkTS/JS袒露接口使用
结构
我们在一样平常开辟中,常常会有一些网络通讯、串口访问、多媒体解码、传感器数据网络等模块,这些模块大部门都是用C++接口实现的,ArkTS侧假如想使用这些本领,就须要用Node-API如许一套接口去桥接C++代码。Node-API团体架构图:
Node-API支持的数据范例和接口
数据范例
1. napi_status 表现Node-API接口返回的状态信息,标志乐成与否,好比此中一个值napi_ok,固然另有其他值 ,napi_incalid_arg、napi_object/string_expected…
2. napi_value 表现Node-API独特的数据范例,在Native侧代码开辟中,表现一个ArkTS范例值,雷同number、String等范例,但着实Native侧不须要感知差异的数据范例,同一为这一个范例。
常用接口
1.napi_get_cb_info 从给定的napi_callback_info中获取详细信息
2.napi_get_value_double 获取给定ArkTS的number范例值
3.napi_get_string_utf8 通过UTF8编码的C字符串数据创建ArkTS侧String范例的数据
一样平常步调
使用Node-API实现跨语言的步调一样平常包罗,接口映射、模块注册、模块构建设置、导出Native接口
C++与ArkTS的桥梁,通过Native的Node-API实现
Node-API典范开辟场景
同步任务 异步任务 线程
安全
:
同步任务:应用侧在调用Native接口后,将会被壅闭等候Native侧盘算结果。好比,应用侧须要读取文件,同步模式下,应用侧步伐将会不停等候Native侧文件读取完成
异步任务:应用侧在调用Native接口后,将会收到临时结果,并继续实行UI利用。Native侧将异步实行业务逻辑,不壅闭应用侧。好比,应用侧须要读取文件,异步模式下,应用侧步伐将不会等候Native侧文件读取完成,并继续运行。
线程
安全
:ArkTS天然线程
安全
,而Native侧代码须要开辟者自行保障线程安全。Native侧C++子线程不可跨线程直接访问ArkTS对象。Node-API提供了线程安全函数保障异步实行与通讯安全。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
浏览过的版块
Java
.Net
郭卫东
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表