鸿蒙(HarmonyOS)开发笔记三:核心概念

harmonyOS开发中的核心概念:

1. Ability和Slice

  Alibity是harmonyOS开发的核心,首先了解一下什么是Alibity我们用生活中的例子来做一个类比,Ability就好像是一个画板,初始什么都没有,一片空白我们可以找一张画纸进行绘画,画完的画纸夹在画板上,画板上就会有我们创作的图画了。

  harmonyOS中的Ability其实就相当于是画板,它用来承载画纸,那么画纸又是什么?我们标题中还有一个Slice,它就相当于是画纸,我们写应用的UI,写完后通过Slice加载布局,就相当于在画纸上绘画完成后把画纸放在画板上进行展示。


  对应的概念引申到程序中,我们有一个Ability(画板)用来向用户展示新闻,同时这个Ability拥有两个Slice(画纸),一个用来
展示新闻标题,另一个用来展示新闻详情。那我们就需要在两个Slice中分别画上新闻的标题和详情,然后通过点击或其他交互来切换
两个Slice。相当于给画板换另一张画纸。

2. 进一步了解Ability

  有了上述概念,我们基本知道Ability能做些什么了,但是还要具体了解一下这个核心的组件,在harmonyOS中,Ability可以分为两类一类叫FA(Feature Ability),另一类叫做PA(Particle Ability)这两类Ability最直观的区别是FA有界面,可以和用户交互,而PA无界面它提供一些应用运行需要的能力,例如读取数据。这两类Ability在创建的时候都有相应的模板

  Ability有两类模板,分别是:

  • 对于FA类型的Ability,Page类型的模板是其唯一的模板类型,这种类型的模板提供了和用户交互的能力
  • 对于PA类型的Ability,它有两类模板分别是:
    • Service模板:用于提供后台运行任务的能力。
    • Data模板:用于对外部提供统一的数据访问抽象。

 3. harmonyOS应用包结构:

以下的描述均来自官网的的引用

  harmonyOS应用包软件包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为entry和feature两种模块类型,如下图所示。

entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。
feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。

有了上述概念,下一篇我们将分析一下我们之前创建的项目的结构,和项目中配置文件中的配置内容具体是什么含义。

posted @ 2021-01-08 15:04  框架搬运工  阅读(1310)  评论(0编辑  收藏  举报