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



审核编辑 黄宇

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

    关注

    60

    文章

    2859

    浏览量

    45357
  • HarmonyOS
    +关注

    关注

    80

    文章

    2146

    浏览量

    35580
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PYQT 应用程序框架及开发工具

    大家好,本团队此次分享的内容为开发过程中使用到的PYQT 应用程序框架及开发工具。 pYqt 是一个多平台的 python 图形用户界面应用程序框架,由于其面向对象、 易扩展(可实现
    发表于 10-29 07:15

    【M-K1HSE开发板免费体验】相关源码之阅读和分析1-使用XComponent + Vsync 实现自定义动画

    ,最终生成一个名为 libentry.so 的核心动态库。 四、 项目实现流程与执行逻辑 整个项目的执行流程跨越了 ArkTS 和 C++ 两层,通过
    发表于 09-03 16:05

    知乎开源“智能预渲染框架” 几行代码实现鸿蒙应用页面“秒开”

    近日,知乎在Gitee平台开源了其自研的鸿蒙“智能预渲染框架”,并将该框架的Har包上架到OpenHarmony三方库中心仓。该框架鸿蒙
    的头像 发表于 08-29 14:32 471次阅读
    知乎开源“智能预渲染<b class='flag-5'>框架</b>” 几行代码<b class='flag-5'>实现</b><b class='flag-5'>鸿蒙</b>应用页面“秒开”

    【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解

    【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解 一、前言 1、CodeGenie是什么?CodeGenie (代码精灵)作为鸿蒙DevEco IDE自带的AI辅助编码
    发表于 06-11 16:34

    开源鸿蒙工程工具分论坛圆满举办

    近日,开源鸿蒙开发者大会2025(OHDC.2025)工程工具分论坛在深圳圆满举办。本次分论坛由开源鸿蒙IDE SIG组长、华为终端BG工程工具技术专家唐春担任出品人,主题为“开源
    的头像 发表于 06-05 15:35 817次阅读

    Kuikly鸿蒙版正式开源 —— 揭秘卓越性能适配之旅

    端的基础能力和设施,包括丰富的跨端组件,完善的调试、构建、发布、监控配套工具链,稳定性监控能力等。 Kuikly框架优势: 一码五端,支持Android、iOS、鸿蒙、Web、小程序5个平台(Web
    发表于 06-04 16:46

    DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升

    生态开发领域的专家型助手,始终以HarmonyOS技术体系为核心服务领域,持续深耕鸿蒙系统组件开发全流程支持。当涉及非鸿蒙知识问题时,优先聚焦鸿蒙相关技术
    发表于 04-18 14:43

    《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 819次阅读

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

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