napi_generator/README_zh.md
zhaojunxia 8c72acfe0f style: modify napi docs
Signed-off-by: zhaojunxia <zhaojunxia@kaihong.com>
2023-05-15 09:29:03 +08:00

5.3 KiB
Executable File
Raw Blame History

NAPI框架生成工具

简介

本文主要介绍NAPI框架代码生成工具它可以根据用户指定路径下的ts(typescript)接口文件一键生成NAPI框架代码、业务代码框架、GN文件等。在开发JS应用与NAPI间接口时底层框架开发者无需关注Nodejs语法、C++与JS之间的数据类型转换等上层应用转换逻辑只关注底层业务逻辑即可专业的人做专业的事从而可以大大提高开发效率。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口。

更多工具的架构和实现原理详情,可以左键单击以下链接了解:

工具使用说明

目录

├── napi_generator                # NAPI框架代码生成工具
│   ├── docs                      # 工具说明、版本规划
│   ├── examples                  # 工具需要的文件样例 
│   ├── figures                   # 图片资源文件
│   ├── hdc                       # hdc相关工具
│   ├── napi_IntelliJ_plugin      # Intellij IDEA插件代码
│   ├── napi_vs_plugin            # VS Code插件代码
│   ├── release-notes             # 发布说明
│   ├── src                       # 工具源码
│   │   ├── gen                   # napi工具源码                 
│   │   |   ├── analyze           # 解析器
│   │   |   |── extend            # 扩展模块包括gn文件生成、linux环境适配代码等
│   │   |   |── generate          # 生成器
│   │   |   └── tools             # 公共模块代码,包括消息体校验、文件读写、正则表达式转换等
│   │   ├── tsGen                 # TS工具源码
│   ├── test                      # UT、ST测试
│   ├── FAQ                       # NAPI框架工具问题反馈
│   └── README                    # 工具使用指导     

约束

系统建议Ubuntu 20.04或者Windows 10

依赖版本VS Code 1.62.0

使用方法

使用对象

系统开发者

使用场景

  1. 系统框架层新增子系统,需对应用层提供接口。
  2. 系统框架层子系统能力增强后,需对应用层提供新接口。

工具使用

工具有三种类型分别是可执行文件、VS Code插件、IntelliJ插件。其中的可执行文件可根据工具使用者的开发环境选择支持WindowsLinux和Mac。可执行文件、VS Code插件下载路径如下。

下载链接1

下载链接2

下载链接3

IntelliJ插件下载路径如下:

IntelliJ插件下载链接

具体的工具使用步骤,可以左键单击以下链接了解:

工具使用说明

工具输出

根据使用者指定的typescript文件工具会输出NAPI框架代码、业务代码框架、GN脚本等文件。

为了方便使用者快速上手工具可供测试的typescript文件存放在以下路径

napi_generator/examples/ts

在window环境下的根据输入文件@ohos.napitest.d.ts和basic.d.ts生成的输出文件如下所示

其中生成的"napitest.h"文件,定义了框架代码的接口,如下所示:

#include "napitest.h"

namespace napitest {
bool func1(std::string& v1, std::string& out)
{
    // TODO
    return true;
}
}

代码集成

为了实现工具生成的接口被其他子系统或者应用调用需将生成的代码编译集成到OpenHarmony系统中编译生成动态库。

把工具的生成代码集成到OpenHarmony的具体操作步骤可以左键单击以下链接了解

生成代码集成到OpenHarmony的方法

工具开发说明

对象

工具的开发者

开发场景

若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。

开发步骤

开发者可以根据如下的步骤来完成对工具的开发:

工具开发说明

版本说明

当前版本已支持的特性和待开发的特性,如下所示:

已支持特性

待支持特性

FAQ

对于常见问题解决方法指导如下:

FAQ

参与贡献

暂无

相关仓

ts生成工具README_zh