石小疯 发表于 2024-11-30 00:10:32

HarmonyOS开发5.0【应用程序包】

对比HarmonyOS 与 Android 的应用程序包

HarmonyOS 的应用程序包与 Android 的应用程序包在多个方面存在一些不同之处,重要体现的方面:

[*]包格式(从包的后缀名可以看出来)


[*]HarmonyOS: 利用 .hap 格式作为应用程序包。这个格式是 HarmonyOS 的专有格式,包含了应用的所有资源和代码。
[*]Android: 利用 .apk 格式作为应用程序包。APK 文件包含了应用的代码、资源、清单文件等。

[*]架构设计


[*]HarmonyOS: 采用了分布式架构,支持多装备协同。应用可以在不同类型的装备(如手机、电视、穿着装备等)之间共享和运行。
[*]Android: 重要针对单一装备的运行,虽然 Android 也支持多屏协同,但其设计初志是单一装备的应用。

[*]组件化


[*]HarmonyOS: 提供了更强的组件化支持,答应开发者将应用拆分为多个功能模块,这些模块可以独立运行和调用。
[*]Android: 虽然也支持模块化开发,但在组件化和跨装备共享方面支持较弱。

[*]权限管理


[*]HarmonyOS: 采用了更细粒度的权限管理机制,旨在进步用户的隐私掩护。
[*]Android: 也有权限管理机制,但在实现上可能与 HarmonyOS 有所不同。

[*]开发工具和语言


[*]HarmonyOS: 利用 ArkTS 和 JavaScript 作为重要开发语言,开发工具包括 DevEco Studio。
[*]Android: 重要利用 Java 和 Kotlin 作为开发语言,开发工具重要是 Android Studio。

[*]生态系统


[*]HarmonyOS: 强调与其他华为装备的生态协同,提供了分布式能力,答应应用在多个装备间无缝切换和协作。
[*]Android: 拥有广泛的第三方应用生态,但不如 HarmonyOS 在装备间的无缝协同方面体现突出。
HarmonyOS 和 Android 都是当代移动操作系统,并且在某些方面有相似之处,但它们在应用程序包格式、架构设计、组件化、开发工具和权限管理等方面存在显著差别。
鸿蒙系统提供了应用程序包开发、安装、查询、更新、卸载的管理机制,便于开发者开发和管理应用。同时,系统还屏蔽了不同的芯片平台的差别(包括x86/ARM,32位/64位等),应用程序包在不同的芯片平台都能够安装运行,这使得开发者可以聚焦于应用的功能实现。贯彻了“一次开发,多端部署”的开发理念 。
2. 介绍HarmonyOS多Module设计机制

在我们一样寻常的开发中,会将繁重和复杂的逻辑通过组件区分,也可以说是按照模块化去区分,将功能举行独立开,松耦合能够使得系统更加灵活,进步可复用性。将复杂系统拆分为小的、易于管理的模块,有助于明白和设计整个系统。
HarmonyOS多Modules设计机制的两大特点:

[*]支持模块化开发
[*]支持多装备适配
3. 介绍Modules类型

应用包

HAP应用包(HarmonyOS Application Package)是用于打包和分发完备应用程序的文件格式。它包含应用的所有代码、资源和设置。
HAP包特点:

[*]跨装备支持: HAP 包可以在不同类型的 HarmonyOS 装备(如手机、平板、电视等)上运行,支持分布式应用开发。
[*]模块化: 支持将应用拆分为多个模块,通过共享模块(如 HAR 和 HSP)实现功能复用。
[*]简化的发布和更新: 开发者可以通过 HAP 包简化应用的发布和更新流程,用户也可以轻松下载和安装应用。
HAP包可以独立安装和运行,是应用安装的基本单位,一个应用中可以包含一个或多个HAP包。 HAP包的类型有两种:


[*]entry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。每一个应用分发到同一类型的装备上的应用程序包,只能包含唯一一个entry类型的HAP
[*]Library类型的Module:应用的动态特性模块,编译后生成feature类型的HAP。一个应用中可以包含一个或多个feature类型的HAP,也可以不包含。
共享包

共享包是用于存储和共享特定功能或资源的包,可以被多个应用或模块引用。重要包括 HAR(HarmonyOS Application Resource)和 HSP(HarmonyOS Service Package)


[*]HAR:静态资源库。用于存储应用资源的包,重要包括应用的布局、图片、字符串和其他资源文件。HAR 包得当在多个应用之间共享静态资源。在大型应用中,可以将常用资源打包成 HAR 包,便于管理和复用。
[*]HSP:动态共享库。用于存储服务的包,重要包括与后端服务交互的逻辑和相关的代码。HSP 包通常包含业务逻辑和服务接口,可以被多个应用调用。HSP 包得当在多个应用之间共享服务逻辑,比方网络哀求、数据处理和业务逻辑。
4. Stage模子应用程序包

编译态包的结构

在上述内容中介绍了后缀名.hap(应用包)、.har(静态资源库)、.hsp(动态共享库)的文件,也就是不同类型的Module编译后会生成对应的HAP、HAR、HSP等文件。
华为开发者学堂上的这个图非常直观:
https://i-blog.csdnimg.cn/direct/f8fb59c9592344758c3e4f1c38c59c0f.png
5. 总结

在相识应用的设计机制、应用程序包结构等底子知识后,我们将基于Stage模子开发。除了Stage模子,HarmonyOS在API7开始支持FA模子,目前已经不再主推。
以上就是本篇文章所带来的鸿蒙开发中一小部分技术解说;想要学习完备的鸿蒙全栈技术。可以在末端找我可全部拿到!
下面是鸿蒙的完备学习路线,展示如下:
https://i-blog.csdnimg.cn/direct/5919b86cebec482181f87bf4647322a6.png#pic_center
除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完备的学习【文档+视频】,内容包含如下:
   内容包含了:(ArkTS、ArkUI、Stage模子、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。资助大家在学习鸿蒙路上快速成长!
鸿蒙【北向应用开发+南向系统层开发】文档

鸿蒙【底子+实战项目】视频

鸿蒙面经

https://i-blog.csdnimg.cn/direct/8c83dfd384d84544a8795e804eaea6ff.png#pic_center
为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢大家观看!
https://i-blog.csdnimg.cn/direct/dda792fb614c44c9a5c0a4394dc3044d.gif#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: HarmonyOS开发5.0【应用程序包】