笔者从事OpenHarmony的北向应用开发,关于NAPI的应用这里做一个笔记总结,包含NAPI的OpenHarmony工程的创建、cpp文件详解、如何编写NAPI函数等,都是基于笔者的开发经验和网上参考资料汇集而成,笔者也处于学习阶段,如有错误,欢迎指正。
一、NAPI的介绍
1、简介
NAPI,全称 Native API,是OpenHarmony系统中的一套原生模块拓展开发框架。基于Nodejs中的N-API开发,为开发者提供了JS与C/C++不同语言模块之间的相互访问,交互的能力,方便开发者使用C或者C++语言实现应用的关键功能。在应用中使用Native API会编译成动态库打包到应用中。
个人理解:允许开发者用C/C++去编写一些功能函数,然后通过NAPI使得可以调用这些函数去完成特定的功能,如操作开发板中某个GPIO节点的状态(OpenHarmony并没有提供直接操作GPIO口状态的API),实现JS与C/C++不同语言模块之间的相互访问,交互的能力。
2、目的优势:
(1)、OpenHarmony系统系统可以将框架层丰富的模块功能通过js接口开放给上层应用使用。
(2)、应用开发者也可以选择将一些对性能、底层系统调用有要求的核心功能用C/C++封装实现,再通过js接口使用,提高应用本身的执行效率。
二、创建含NAPI的Openharmony工程
在进行OpenHarmony应用开发时,若要调用自己编写的NAPI函数,则必须建立一个支持NAPI的OpenHarmony工程。
在DevEco Studio 3.0 Release版本中,OpenHarmony工程创建有自带了一个Native C++ hello的模板,我们只需新建该模板的一个工程即可,如下图所示。