应用结构

在开发手册中说道,HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。

这句话是什么意思呢?就是说一个HarmonyOS的应用程序是包含了一个或多个的HAP组成的,如下图:

 在上图中我们看见App Pack下面有多个.hap的文件,那有这么多个.hap的文件有什么用呢?

之前我们说了HarmonyOS的特点包含了可分可合的一个特点,这些.hap的模块都可以作为一个单独的应用使用,也可以是一个包含所有.hap模块的应用使用,这就是HarmonyOS的强大了!

我们讲到.hap既可以独立使用也可以和其他.hap模块使用,那这个.hap又是怎么组成的呢?

.hap模块大致可以分为两个模块:entry和feature

entry和feature是什么呢?有什么用呢?

entry是应用的主模块。一个APP中,对于同一设备,一个或多个entry类型的HAP,来支持该设备类型的不同规格(如API版本、屏幕规格等)的具体设备

feature是应用的动态模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行

上面讲到 HAP是Ability的部署包,那Ability是什么呢?

Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面

在上图中我们发现除了.hap模块呢,还有一个pack.info的东西,那这个pack.info是什么呢?有什么作用呢?

pack.info是描述应用软件包中每个HAP的属性,由IDE编译生成。应用市场根据该文件进行拆包和HAP的分类存储

pack.info的具体属性有:

  • delivery-with-install: 表示该HAP是否支持随应用安装。“true”表示支持随应用安装;“false”表示不支持随应用安装。
  • name:HAP文件名。
  • module-type:模块类型,entry或feature。
  • device-type:表示支持该HAP运行的设备类型

--------------------------------------------------------------------------------------------------------------------------------

最后给大家分享一个DevEco Studio汉化的插件下载的地址[华为开发者论坛],配置完之后就可以使用汉化的编辑器了!

从刚开始接触这门语言,到初次运行项目,了解完应用包的结构组成,明天就开始撸代码了,期待万分!!!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐