Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
docs/ | 12-May-2024 | - | 701 | 498 | ||
examples/ | 12-May-2024 | - | 88 | 20 | ||
figures/ | 12-May-2024 | - | ||||
hdc/ | 12-May-2024 | - | 3,569 | 2,878 | ||
napi_IntelliJ_plugin/ | 12-May-2024 | - | 2,733 | 1,817 | ||
napi_vs_plugin/ | 12-May-2024 | - | 1,045 | 782 | ||
release-notes/ | 12-May-2024 | - | 49 | 41 | ||
src/ | 12-May-2024 | - | 6,866 | 5,684 | ||
test/ | 12-May-2024 | - | 5,085 | 3,419 | ||
.gitattributes | D | 12-May-2024 | 533 | 8 | 7 | |
.gitignore | D | 12-May-2024 | 572 | 29 | 28 | |
FAQ.md | D | 12-May-2024 | 9.4 KiB | 142 | 93 | |
LICENSE | D | 12-May-2024 | 11.3 KiB | 202 | 169 | |
OAT.xml | D | 12-May-2024 | 4.8 KiB | 77 | 24 | |
README_zh.md | D | 12-May-2024 | 4.9 KiB | 136 | 82 | |
package.json | D | 12-May-2024 | 1.2 KiB | 34 | 33 |
README_zh.md
1# NAPI框架生成工具 2 3## 简介 4本文主要介绍NAPI框架代码生成工具,它可以根据用户指定路径下的ts(typescript)接口文件一键生成NAPI框架代码、业务代码框架、GN文件等。在开发JS应用与NAPI间接口时,底层框架开发者无需关注Nodejs语法、C++与JS之间的数据类型转换等上层应用转换逻辑,只关注底层业务逻辑即可,专业的人做专业的事,从而可以大大提高开发效率。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口。 5 6更多工具的架构和实现原理详情,可以左键单击以下链接了解: 7 8[工具使用说明](https://gitee.com/openharmony/napi_generator/blob/master/docs/INSTRUCTION_ZH.md) 9 10## 目录 11 12 ├── napi_generator # NAPI框架代码生成工具 13 │ ├── docs # 工具说明、版本规划 14 │ ├── examples # 工具需要的文件样例 15 │ ├── figures # 图片资源文件 16 │ ├── napi_IntelliJ_plugin # Intellij IDEA插件代码 17 │ ├── napi_vs_plugin # VS Code插件代码 18 │ ├── release-notes # 发布说明 19 │ ├── src # 工具源码 20 │ │ ├── gen 21 │ │ | ├── analyze # 解析器 22 │ │ | |── extend # 扩展模块,包括gn文件生成、linux环境适配代码等 23 │ │ | |── generate # 生成器 24 │ │ | └── tools # 公共模块代码,包括消息体校验、文件读写、正则表达式转换等 25 │ ├── test # UT、ST测试 26 │ ├── FAQ # NAPI框架工具问题反馈 27 │ └── README # 工具使用指导 28 29## 约束 30系统:建议Ubuntu 20.04或者Windows 10 31 32依赖版本:VS Code 1.62.0 33 34## 使用方法 35 36### 使用对象 37 38系统开发者 39 40### 使用场景 41 421) 系统框架层新增子系统,需对应用层提供接口。 432) 系统框架层子系统能力增强后,需对应用层提供新接口。 44 45### 工具使用 46 47工具有三种类型,分别是可执行文件、VS Code插件、IntelliJ插件。其中的可执行文件可根据工具使用者的开发环境选择,支持Windows,Linux和Mac。可执行文件、IntelliJ插件、VS Code插件下载路径如下,选择napi_generator_outputs.zip下载。 48 49[下载链接](http://ftp.kaihongdigi.com:5000/fsdownload/mKjfCmPjk/generator_outputs_NAPI_0930) 50 51具体的工具使用步骤,可以左键单击以下链接了解: 52 53[工具使用说明](https://gitee.com/openharmony/napi_generator/blob/master/docs/INSTRUCTION_ZH.md) 54 55### 工具输出 56 57根据使用者指定的typescript文件,工具会输出NAPI框架代码、业务代码框架、GN脚本等文件。 58 59为了方便使用者快速上手工具,可供测试的typescript文件存放在以下路径: 60 61``` 62napi_generator/examples/ts 63``` 64 65在window环境下的,根据输入文件@ohos.napitest.d.ts和basic.d.ts生成的输出文件,如下所示: 66 67![](./figures/pic-d-ts-transition.png) 68 69其中生成的"napitest.h"文件,定义了框架代码的接口,如下所示: 70 71 72```c++ 73#include "napitest.h" 74 75 76namespace napitest { 77 78bool TestClass1::if_direct(std::string &v1, std::string &out) { 79 // TODO 80 return true; 81} 82 83bool TestClass1::if_callback(std::string &v1, std::string &out) { 84 // TODO 85 return true; 86} 87 88...... 89} 90``` 91 92### 代码集成 93 94为了实现工具生成的接口被其他子系统或者应用调用,需将生成的代码编译集成到OpenHarmony系统中,编译生成动态库。 95 96把工具的生成代码集成到OpenHarmony的具体操作步骤,可以左键单击以下链接了解: 97 98[生成代码集成到OpenHarmony的方法](https://gitee.com/openharmony/napi_generator/blob/master/docs/ENSEMBLE_METHOD_ZH.md) 99 100## 工具开发说明 101 102### 对象 103 104工具的开发者 105 106### 开发场景 107 108若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 109 110### 开发步骤 111 112开发者可以根据如下的步骤来完成对工具的开发: 113 114 [工具开发说明](https://gitee.com/openharmony/napi_generator/blob/master/docs/DEVELOP_ZH.md) 115 116## 版本说明 117 118 当前版本已支持的特性和待开发的特性,如下所示: 119 120 [已支持特性](https://gitee.com/openharmony/napi_generator/blob/master/release-notes/napi_generator-1.0.md) 121 122 [待支持特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/ROADMAP_ZH.md) 123 124## FAQ 125对于常见问题解决方法指导如下: 126 127 [FAQ](https://gitee.com/openharmony/napi_generator/blob/master/FAQ.md) 128 129## 参与贡献 130 131暂无 132 133## 相关仓 134 135暂无 136