前言
对于普通的用户来说,可能一个普通的应用就等于一个安装文件如安卓下的APK。但是对于Harmony应用开发工程师来讲,一个应用包含的内容仅仅不止于此。
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。
项目架构
目前开发应用,稍微大一点的应用,都会采取模块化开发方式。它将应用中的某些功能看做一个单独的模块*(module)。这样的开发方式有利于团队开发、封装复用、方便维护等优点。如: 外卖、小象超市、国内外酒店等可以视作一个单独的模块(module)*。
在Harmony应用中,可以将模块看成三个种类。分别是
- HAP --- Harmony Ability Package 鸿蒙能力单元包 - 作者自己翻译的
- HAR --- Harmony Archive 静态共享库
- HSP --- Harmony Shared Package 动态共享库
HAP
HAP(Harmony Ability Package)是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。
- entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
- feature:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。
其中,应用程序包可以只包含一个基础的entry包,也可以包含一个基础的entry包和多个功能性的feature包。
在项目工程中,entry模块默认存在,并且存在入口页面 @Entry
如果项目只有有个 Entry模块,那么该项目也可称为单HAP项目结构
此时,如果我们想要建立多个Feature模块,如
可以直接在项目工程中建立。
Feature模块: