HarmonyOS学习笔记1-系统概述和Ability了解
HarmonyOS学习笔记(1)—系统概述和Ability了解
一、系统概述
(1)、HarmonyOS系统框架
1、内核层:
提供手机操作系统的基础能力。
HarmonyOS采用多内核的系统设计,基于Linux内核、LiteOS,使用了Linux的微内核(使用了Linux的最简功能)
Linux内核:手机操作系统的内核
LiteOS内核:智能硬件的内核
2、系统服务层:
HarmonyOS的核心能力集合,这些能力由系统本身决定,为我们应用系统开发提供了服务调用功能。
3、框架层:
为HarmonyOS的应用开发提供了不同语言程序调用的接口。
(2)、鸿蒙发展史
1、2012年,华为开始规划智能操作系统“鸿蒙”
2、2019年8月,鸿蒙正式版发布,实现开源
3、2020年9月,鸿蒙2.0(beta)
4、2021年6月,华为线上发布HarmonyOS 2.0
(3)、鸿蒙与安卓的区别
1、内核
安卓(Android):基于Linux的内核设计,对Linux的依赖大
鸿蒙(HarmonyOS):采用了多内核设计,Linux内核+LiteOS内核
2、运行效率
安卓(Android):应用的运行基于虚拟机 (Java—JDK编译器—字节码—虚拟机—操作系统)
鸿蒙(HarmonyOS):应用的运行基于方舟编译器 (Java—方舟编译器—机器码—操作系统)
(4)、技术特性
1、硬件互助,资源共享
多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括 、 、 、 等。
2、一次开发,多端部署
HarmonyOS提供了用户程序框架、 框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。一次开发、多端部署示意图。
其中,UI框架支持使用Java、JS、TS语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。
3、统一OS,弹性部署
HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。
二、Ability学习了解
(1)、Ability基本概念
1、Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。
FA支持 :
Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。
PA支持 和 :
- Service模板:用于提供后台运行任务的能力。
- Data模板:用于对外部提供统一的数据访问抽象。
在 (config.json)中注册Ability时,可以通过配置Ability元素中的“type”属性来指定Ability模板类型,其中,“type”的取值可以为“page”、“service”或“data”,分别代表Page模板、Service模板、Data模板。
例:{
“module”: {
…
“abilities”: [
{
…
“type”: “page”
…
}
]
…
}
…
}