鸿蒙操作系统 HarmonyOS 你值得拥有

今天我们来谈谈当下最火爆的万物互联的操作系统—Harmony OS,这是国人的骄傲,也是每一个中华儿女值得去学习和研究的国产操作系统 。在这里主要是想通过自己所写的一个小 Demo 来初探一下 Harmony OS 系统下的 App 应用开发,如有不对之处还望指出,共勉之 。
 
Step 1: 开发环境的搭建IDE & SDK 的安装就不在这里详细讲解了,华为的官网上面既有安装包也有相关的步骤,相信大家可以通过文档自行完成 。
 
Step2: app开发的相关术语学习(摘至华为官网)第一部分:系统的定义HarmonyOS 是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统 。
 
第二部分:开发app应用程序包结构HarmonyOS 的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个 HAP(HarmonyOS Ability Package)以及描述每个 HAP 属性的pack.info组成 。
HAP 是 Ability 的部署包,HarmonyOS 应用代码围绕 Ability 组件展开 。
一个 HAP 是由代码、资源、第三方库及应用配置文件组成的模块包,可分为 entry 和feature 两种模块类型 。
 
Entryentry:应用的主模块 。
一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行 。
 
Featurefeature:应用的动态特性模块 。
一个 APP 可以包含一个或多个 feature 类型的 HAP,也可以不包含 。只有包含 Ability 的 HAP 才能够独立运行 。
 
AbilityAbility 是应用所具备的能力的抽象,一个应用可以包含一个或多个 Ability 。
Ability 分为两种类型:FA(Feature Ability)和 PA(Particle Ability) 。
FA/PA 是应用的基本组成单元,能够实现特定的业务功能 。FA有UI界面,而PA无UI界面 。
 
库文件库文件是应用依赖的第三方代码(例如so、jar、bin、har等二进制文件),存放在 libs 目录 。
 
资源文件应用的资源文件(字符串、图片、音频等)存放于 resources 目录下,便于开发者使用和维护,详见资源文件的分类 。
 
配置文件配置文件 (config.json) 是应用的 Ability 信息,用于声明应用的 Ability,以及应用所需权限等信息,详见应用配置文件 。
 
pack.info【鸿蒙操作系统 HarmonyOS 你值得拥有】描述应用软件包中每个 HAP 的属性,由 IDE 编译生成,应用市场根据该文件进行拆包和 HAP 的分类存储 。
HAP 的具体属性包括:
delivery-with-install: 表示该 HAP 是否支持随应用安装 。“true”:表示支持随应用安装;“false”:表示不支持随应用安装 。
name:HAP 文件名 。
module-type:模块类型,entry 或 feature 。
device-type:表示支持该 HAP 运行的设备类型 。
HAR(HarmonyOS Ability Resources)可以提供构建应用所需的所有内容,包括源代码、资源文件和 config.json 文件 。HAR 不同于 HAP,HAR 不能独立安装运行在设备上,只能作为应用模块的依赖项被引用 。
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用” 。
在 HarmonyOS 上运行的应用,有两种形态:
传统方式的需要安装的应用 。
提供特定功能,免安装的应用(即原子化服务) 。
 
第三部分:开发过程中常见的术语解释Page 与 AbilitySlicePage 模板(以下简称“Page”)是 FA 唯一支持的模板,用于提供与用户交互的能力 。一个Page 可以由一个或多个 AbilitySlice 构成,AbilitySlice 是指应用的单个页面及其控制逻辑的总和 。
 
当一个 Page 由多个 AbilitySlice 共同构成时,这些 AbilitySlice 页面提供的业务能力应具有高度相关性 。例如,新闻浏览功能可以通过一个 Page 来实现,其中包含了两个AbilitySlice:一个 AbilitySlice 用于展示新闻列表,另一个 AbilitySlice 用于展示新闻详情 。
 
IntentIntent 是对象之间传递信息的载体 。例如,当一个 Ability 需要启动另一个 Ability 时,或者一个 AbilitySlice 需要导航到另一个 AbilitySlice 时,可以通过 Intent 指定启动的目标同时携带相关数据 。
 
AbilityAbility 是应用所具备能力的抽象,也是应用程序的重要组成部分 。
一个应用可以具备多种能力(即可以包含多个 Ability ),HarmonyOS 支持应用以 Ability 为单位进行部署 。Ability 可以分为 FA(Feature Ability)和 PA(Particle Ability)两种类型,每种类型为开发者提供了不同的模板,以便实现不同的业务功能 。


推荐阅读