简介
NAPI(Native API)组件是一套对外接口基于Node.js N-API规范开发的原生模块扩展开发框架。
-
NativeEngine
JS引擎抽象层,统一JS引擎在NAPI层的接口行为。
-
ModuleManager
管理模块,用于模块加载、模块信息缓存。
-
ScopeManager
管理NativeValue的生命周期。
-
ReferenceManager
管理NativeReference的生命周期。
目录
NAPI组件源代码在/foundation/arkui/napi下,目录结构如下图所示:
foundation/arkui/napi
├── interfaces
│ └── kits
│ └── napi # NAPI头文件目录
├── module_manager # 模块管理
├── native_engine # NativeEngine抽象层
│ └── impl
│ └── ark # 基于Ark的NativeEngine实现
├── scope_manager # 作用域管理
└── test # 测试目录
使用场景
NAPI适合封装IO、CPU密集型、OS底层等能力并对外暴露JS接口,通过NAPI可以实现JS与C/C++代码互相访问。我们可以通过NAPI接口构建例如网络通信、串口访问、多媒体解码、传感器数据收集等模块。
接口说明
接口实现详见:foundation/arkui/napi。
表 1 NAPI接口说明