OpenHarmony开发者论坛

标题: NAPI 框架生成工具实现流程 [打印本页]

作者: shixiaocheng    时间: 2024-2-23 11:35
标题: NAPI 框架生成工具实现流程
[md]NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件一键生成 NAPI 框架代码、业务代码框架、GN 文件等。在开发 JS 应用与 NAPI 间接口时,底层框架开发者无需关注 Nodejs 语法、C++ 与 JS 之间的数据类型转换等上层应用转换逻辑,只关注底层业务逻辑即可。

那他的实现过程,以及在实际开发中该如何使用呢?为此分析了下代码,分解其过程如下。

## 1. 纯C++代码实现

该部分纯C++实现函数,不需要考虑JS环境,实现解耦。

![image.png](https://forums-obs.openharmony.c ... 3j5ycxxxy7c7xx5.png "image.png")

## 2. **NAPI工具类**

实现C++与JS之间的数据类型转换等上层应用转换逻辑。

![image.png](https://forums-obs.openharmony.c ... 1jpvv2cjjr9cmv1.png "image.png")

## 3. **NAPI函数映射**与模块注册

实现NAPI函数映射与模块注册

![image.png](https://forums-obs.openharmony.c ... mkxmdnxcnzymdcn.png "image.png")


## 4. 北向调用

![image.png](https://forums-obs.openharmony.c ... k2odj02dn7hhh77.png "image.png")

全部流程为

![image.png](https://forums-obs.openharmony.c ... almjn0maac0nnjj.png "image.png")

参考:

[OpenHarmony/napi\_generator - 码云 - 开源中国 (gitee.com)](https://gitee.com/openharmony/napi_generator/tree/master)

[【求助】关于NAPI的疑惑,源码里JS引擎解释执行javascript代码的实现在哪里\_weixin\_52442523-Laval社区 (csdn.net)](https://laval.csdn.net/65bf458f28cf1d21b5200e51.html)

[有没有根据ts接口文件快速生成Napi实现代码的工具? - 问答 OpenHarmony开发者论坛](https://forums.openharmony.cn/fo ... &highlight=napi)
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5