网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
传统的需要安装的应用
-
HarmonyOS特定的,免安装的原子化服务
官网关于原子化服务的介绍如下:
原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。
原子化服务基于HarmonyOS API开发,支持运行在1+8+N设备上,供用户在合适的场景、合适的设备上便捷使用。原子化服务相对于传统方式的需要安装的应用形态更加轻量,同时提供更丰富的入口、更精准的分发。
原子化服务由1个或多个HAP包组成,1个HAP包对应1个FA或1个PA。每个FA或PA均可独立运行,完成1个特定功能;1个或多个功能(对应FA或PA)完成1个特定的便捷服务。
原子化服务与传统方式的需要安装的应用对比:
| 项目 | 原子化服务 | 传统方式的需要安装的应用 |
| — | — | — |
| 软件包形态 | APP Pack(.app) | APP Pack(.app) |
| 分发平台 | 由原子化服务平台(Huawei Ability Gallery)管理和分发 | 由应用市场(AppGallery)管理和分发 |
| 安装后有无桌面icon | 无桌面icon,但可手动添加到桌面,显示形式为服务卡片 | 有桌面icon |
| HAP包免安装要求 | 所有HAP包(包括Entry HAP和Feature HAP)均需满足免安装要求 | 所有HAP包(包括Entry HAP和Feature HAP)均为非免安装的 |
二、用户应用程序包结构
===========
2.1 结构示意图
HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。
如下展示一个HelloWord基础鸿蒙应用程序结构:
2.2 HAP模块类型
一个HAP由代码、资源、第三方库及应用配置文件组成,分为entry和feature两种模块类型!
**entry:**应用主模块。一个App中,对于统一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。
**feature:**应用的动态特性模块。一个App中可以包含一个或多个feature类型的HAP,也可以不包含。只有包含Ability的HAP才能够独立运行(意思是不包含Abilitu的feature模块无法独立运行)。
APP逻辑视图:
2.3 模块介绍
2.3.1 Ability
Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型
-
FA(Feature Ability)
-
PA(Paticle Ability)
FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,PA无UI界面。
2.3.2 库文件
应用依赖的第三方代码(jar、bin、so、har等二进制文件),存放在libs目录
2.3.3 资源文件
应用的资源文件(图片、音频等)存放于resources目录下,便于开发者使用和维护,后续会详细介绍。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
tps://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!