内核层—系统服务层—框架层—应用层
内核层:
系统基础服务层:
是HarmonyOS的核心能力集合,包括适用于各类设备的基础能力以及面向特定设备的专有能力,涵盖系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集
。根据不同设备形态的部署环境,基础软件/增强软件/硬件服务子系统集内部可以按子系统粒度裁剪,子系统内部还可按功能粒度裁剪
框架层:
为HarmonyOS应用开发提供了Java/C/C++/JS等多语言的用户程序框架
和Ability框架
,两种UI框架
(包括适用于Java语言的Java UI框架、适用于JS语言的 JS UI框架)以及各种软硬件服务对外开放的多语言框架API
,根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。
应用层
支持基于框架层实现业务逻辑的原子化开发,构建以FA(Feature Ability)/PA(Particle Ability)为基础组成单元的应用(包括系统应用和第三方应用)。
FA/PA是HarmonyOS应用的基本组成单元,能够实现特定的业务功能。
一个应用可以包含一个或多个FA/PA。FA有UI界面,PA无UI界面。
一个视频通话应用视频通话主界面FA”提供UI界面以便于用户交互,PA1”进行摄像头视频采集,“PA2”进行视频美颜处理,“PA3”提供超级夜景能力。FA/PA可以按需下载、加载和运行。
基于FA/PA构建的新型应用生态,能够实现三方服务跨设备智能分发,提供一致、高效的用户体验。
仍以前面的视频通话应用为例,当手机下载该应用时,将同时下载主界面FA、摄像头视频采集PA、视频美颜处理PA、超级夜景PA。当智慧屏下载该应用时,如果智慧屏不支持美颜、超级夜景,则会仅下载主界面FA、摄像头视频采集PA。
HarmonyOS的用户应用程序包以APP Pack (Application Package)形式发布xxx.app
,它是由一个或多个HAP (HarmonyOS Ability Package) 以及描述每个HAP属性的pack,info组成。
HAP包是由代码、资源、第三方库以及配置文件组成的模块包。可分为entry和feature两种模块类型。
HarmonyOS应用代码围绕Ability
组件展开。
Ability
Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。
Ability分为两种类型: FA 元程序
(Feature Ability ) 和PA 元服务
(Particle Ability)
FA有UI界面,PA无UI界面。