0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【鸿蒙】NAPI 框架生成工具实现流程

王程 来源: jf_75796907 作者: jf_75796907 2024-02-28 17:00 次阅读

NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件一键生成 NAPI 框架代码、业务代码框架、GN 文件等。在开发 JS 应用与 NAPI 间接口时,底层框架开发者无需关注 Nodejs 语法、C++ 与 JS 之间的数据类型转换等上层应用转换逻辑,只关注底层业务逻辑即可。

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

1. 纯 C++ 代码实现

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

wKgaomXe9ZOAfxa9AABiwFsjy90887.png

2. NAPI 工具类

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

wKgZomXe9Z2AVcX4AADFtiX1dW8421.png

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

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

wKgaomXe9aaAVVPcAAFsx1sj8a0012.png

4. 北向调用

wKgZomXe9a2ASKWVAADK5ZgYOFw008.png

全部流程为

wKgaomXe9bSAXohLAAL7pE8ldPE939.png


为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术,这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》,希望对大家有所帮助:

《鸿蒙(Harmony OS)开发学习手册》

入门必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用开发导读(ArKTS)
2.……

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系统定义
2.技术框架
3.技术特性
4.系统安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入门:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.构建第一个ArkTS应用
3.…

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

开发基础知识:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 开发:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.png



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    57

    文章

    2409

    浏览量

    43268
  • HarmonyOS
    +关注

    关注

    79

    文章

    1987

    浏览量

    31024
收藏 人收藏

    相关推荐

    《AI Agent 应用与项目实战》阅读心得2——客服机器人、AutoGen框架生成式代理

    质量并提供优化建议。这种协作模式不仅提高了代码生成的准确性,还实现了自动化的代码优化流程框架中的Agent通信采用了异步消息队列机制,有效避免了死锁问题,同时支持消息的优先级管理,确
    发表于 02-25 21:59

    DevEco Studio构建分析工具Build Analyzer 为原生鸿蒙应用开发提速

    分析不同构建阶段的性能差异,进一步优化构建流程。 Build Analyzer作为一款强大的构建分析工具,为原生鸿蒙应用开发者提供了从任务追踪到性能优化的全方位支持。通过其细粒度的分析和直观的可视化
    发表于 02-17 18:06

    生成式AI工具好用吗

    当下,生成式AI工具正以其强大的内容生成能力,为用户带来了前所未有的便捷与创新。那么,生成式AI工具到底好用吗?答案无疑是肯定的。接下来,A
    的头像 发表于 01-17 09:54 164次阅读

    效率大升!AI赋能鸿蒙万能卡片开发

    万能卡片,作为鸿蒙生态应用和元服务的重要展示形式,凭借将关键信息和核心操作前置,实现服务直达、减少跳转层级的体验效果,备受用户和开发者青睐。但传统卡片的设计和编码流程相对繁琐,影响了万能卡片的搭建
    的头像 发表于 01-13 13:44 238次阅读
    效率大升!AI赋能<b class='flag-5'>鸿蒙</b>万能卡片开发

    #新年新气象,大家新年快乐!#AIGC入门及鸿蒙入门

    ,基于扩散模型,能够生成与给定文本描述相符的图像。 鸿蒙系统入门 1.基础知识:鸿蒙系统(HarmonyOS)是华为推出的一款分布式操作系统,旨在实现跨设备、跨平台的无缝协同体验。
    发表于 01-13 10:46

    AIGC入门及鸿蒙入门

    模型,能够生成与给定文本描述相符的图像。 鸿蒙系统入门 1. 基础知识: 鸿蒙系统(HarmonyOS)是华为推出的一款分布式操作系统,旨在实现跨设备、跨平台的无缝协同体验。
    发表于 01-13 10:32

    AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

    )开发框架。它极大地简化了JS与C/C++之间的跨语言访问,为开发者提供了一种边界性编程体验友好的解决方案。通过AKI,开发者可以使用让代码更易读的语法糖,实现JS与C/C++之间的无障碍跨语言互调
    发表于 01-02 17:08

    首款开发鸿蒙原生应用的AI辅助编程工具正式上线了

    辅助编程工具——DevEco CodeGenie正式上线了,标志着鸿蒙原生应用和元服务开发进入AI赋能的新时代。该工具支持开发鸿蒙原生应用领域的智能知识问答、ArkTS代码补全/
    的头像 发表于 12-18 10:39 333次阅读

    卷积神经网络的实现工具框架

    卷积神经网络因其在图像和视频处理任务中的卓越性能而广受欢迎。随着深度学习技术的快速发展,多种实现工具框架应运而生,为研究人员和开发者提供了强大的支持。 TensorFlow 概述
    的头像 发表于 11-15 15:20 388次阅读

    生成式AI工具作用

    生成式AI工具是指那些能够自动生成文本、图像、音频、视频等多种类型数据的人工智能技术。在此,petacloud.ai小编为您整理生成式AI工具
    的头像 发表于 10-28 11:19 394次阅读

    鸿蒙跨端实践-JS虚拟机架构实现

    类似的框架,我们需要自行实现以确保核心基础能力的完整。 鸿蒙虚拟机的开发经历了从最初 ArkTs2V8 到 JSVM + Roma新架构方案 。在此过程中,我们实现了完整的
    的头像 发表于 09-30 14:42 2637次阅读
    <b class='flag-5'>鸿蒙</b>跨端实践-JS虚拟机架构<b class='flag-5'>实现</b>

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板

    大家期待已久的迅为RK3568开发板终于迎来了鸿蒙4.1系统的强势支持!想知道如何实现快速开发学习吗?跟着我们一起来探索吧! 迅为RK3568开发板: 想象一下,你手中的RK3568开发板能够轻松
    发表于 07-23 10:44

    鸿蒙跨平台框架:【ArkUi-X】创建工程

    鸿蒙推出了鸿ArkUi-X 框架所以就写个文章分享一下
    的头像 发表于 05-13 17:48 1156次阅读
    <b class='flag-5'>鸿蒙</b>跨平台<b class='flag-5'>框架</b>:【ArkUi-X】创建工程

    鸿蒙ArkUI:【从代码到UI显示的整体渲染流程

    方舟开发框架(简称ArkUI)是鸿蒙开发的UI框架,提供如下两种开发范式,我们 **只学声明式开发范式**
    的头像 发表于 05-13 16:06 1126次阅读
    <b class='flag-5'>鸿蒙</b>ArkUI:【从代码到UI显示的整体渲染<b class='flag-5'>流程</b>】

    鸿蒙OS开发实例:【HarmonyHttpClient】网络框架

    鸿蒙上使用的Http网络框架,里面包含纯Java实现的HttpNet,类似okhttp使用,支持同步和异步两种请求方式;还有鸿蒙版retrofit,和Android版Retrofit相
    的头像 发表于 04-12 16:58 964次阅读
    <b class='flag-5'>鸿蒙</b>OS开发实例:【HarmonyHttpClient】网络<b class='flag-5'>框架</b>