应用与应用程序包
用户应用程序是指运行在设备操作系统之上,为用户提供特定服务的程序,简称"应用"。
一个应用所对应的软件包文件,称为"应用程序包"。
系统提供了应用程序包开发、安装、查询、更新、卸载的管理机制,便于开发者开发和管理应用。此外,系统还屏蔽了不同的芯片平台的差异(包括x86/ARM,32位/64位等),保证应用程序包在不同的芯片平台都能够安装运行。
应用的多Module设计机制
- 支持模块化开发:一个应用通常包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。Module中可以包含源代码、资源文件、三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。这种模块化、松耦合的应用管理方式有利于应用的开发、维护与扩展。
- **支持多设备适配:**一个应用往往需要适配多种设备类型,在采用多Module设计的应用中,每个Module都会标注所支持的设备类型。Module支持的设备类型不同,有的支持全部类型,有的仅支持特定类型(例如平板)。在应用市场分发应用包时,可以根据设备类型进行精准筛选和匹配,从而合理组合和部署不同的包到对应的设备上。
Module类型
- **Ability类型的Module:用于实现应用的功能和特性。**每一个Ability类型的Module编译后,会生成一个以.hap为后缀的文件,称为HAP(Harmony Ability Package)包。
- **Library类型的Module:用于实现代码和资源的共享。**同一个Library类型的Module可以被其他的Module多次引用,合理地使用该类型的Module,能够降低开发和维护成本。Library类型的Module分为Static和Shared两种类型,编译后生成共享包:Static Library 静态共享库;Shared Library 动态共享库。