​HarmonyOS跨平台开发需要具备哪些经验?​

鸿蒙活动小助手
发布于 2025-4-25 14:33
浏览
0收藏

HarmonyOS的跨平台开发需要具备哪些经验?在HarmonyOS社区核心讲师夏曹俊看来,主要包括:HarmonyOS NEXT原生开发中Native API分析;跨平台库如何与ArkTS交互;跨平台的库移植到HarmonyOS NEXT中的案例。


在51CTO特别策划推出的“HarmonyOS创新探索与应用实践 · 开发者系列沙龙”活动中,他针对以上问题进行了详细介绍。


HarmonyOS NEXT原生NDK开发需要的知识有哪些?Node-API;Linux C编程知识 基于POSIX等标准扩展;CMake使用知识;Clang/LLVM 毕N编译器编译器使用知识。

​HarmonyOS跨平台开发需要具备哪些经验?​-鸿蒙开发者社区

v准C库:以musl为基础提供的标准C库接口。

标准C++库:C++运行时库libc++_shared。

日志:打印日志到系统的HiLog接口。

Node-API:当需要实现ArkTS/JS和C/C++之间的交互时,可以使用Node-API。

libuv:三方异步IO库。

zlib:zlib库,提供基本的数据压缩、解压接口。

Rawfile:应用资源访问接口,可以读取应用中打包的各种资源。

XComponent:ArkUI XComponent组件提供surface与触屏事件等接口,方便开发者开发高性能图形应用。

Drawing:系统提供的2D图形库,可以在surface进行绘制。

OpenGL:系统提供的OpenGL 3D图形接口。

OpenSL ES:用于2D、3D音频加速的接口库。

​HarmonyOS跨平台开发需要具备哪些经验?​-鸿蒙开发者社区

​HarmonyOS跨平台开发需要具备哪些经验?​-鸿蒙开发者社区

HarmonyOS工具链的基础配置文件是ohos.toolchain.cmake。默认值,如编译器架构、C++库链接方式等,通过CMAKE_TOOLCHAIN_FILE指定。


build-tools文件夹:放置NDK提供的编译工具;llvm文件夹:放置NDK提供的编译器。


ArkTS/JS侧:实现C++方法的调用。代码比较简单,import一个对应的so库后,即可调用C++方法。


Native侧:.cpp文件,实现模块的注册。需要提供注册lib库的名称,并在注册回调方法中定义接口的映射关系,即Native方法及对应的JS/ArkTS接口名称等。


Node-API接口只能在JS线程使用。Native接口入参数env与特定JS线程绑定只能在创建时的线程使用。

​HarmonyOS跨平台开发需要具备哪些经验?​-鸿蒙开发者社区

分类
收藏
回复
举报


回复
    相关推荐