> 文档中心 > 鸿蒙第一课

鸿蒙第一课

1.OpenHarmony技术架构

OpenHarmony 整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统>子系统>组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件,前端领域的发力点核心在于应用层「拓展应用、三方应用」构建服务。

2.OpenHarmony应用层介绍
应用层包括「系统应用」和「第三方非系统应用」。应用由一个或多个FA( FeatureAbility )或PA(Particle Abllity)组成。其中,FA有UI界面,提供与用户交互的能力; 而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。显然,我们前端开发小伙伴学习的核心点就在于对FA中UI层面的开发工作。
UI部分(FA)既支持纯 JavaScript 开发,也支持纯Java开发,还可以Java跟 JavaScript 混合开发。FA支持使用Java和 JavaScript 两种方式开发UI界面。如果使用Java,则跟Android一样,使用xml定义布局或者Java代码定义布局,每个页面都是一个 PageAbility ,使用Java编写业务代码,不同的页面之间传递数据依然使用intent。
”“而这里如果使用 JavaScriptUI 框架的话,那么写法跟「Vue+小程序」应用开发基本一模一样,同样支持data、props、computed、watch和functigns(methods),也能创建自定义的组件,这样web前端工程师就很容易转型成为鸿蒙UI开发工程师,不得不说华为在已有概念上做的整合,还是相当厉害的。”
1.HTML基础
2.CSS基础
3. JavaScript 、 ECMAScript (ES6) 基础
3. Vue基础
4.小程序开发基础(事半功倍)

3.Ability

Ability是HarmonyOS应用程序的重要组成部分,分为FA(Feature Ability)和PA(Particle Ability)两种类型:

  • FA支持Page Ability:Page模板是FA唯一支持的模板,用于提供与用户交互的能力。

  • PA支持Service Ability和Data Ability:Service模板用于提供后台运行任务的能力;Data模板用于对外部提供统一的数据访问抽象。

 4.用户应用程序包结构

HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。

一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为entry和feature两种模块类型,如图1所示。

  • entry:应用的主模块。一个APP中,对于同一设备类型,可以有一个或多个entry类型的HAP,来支持该设备类型中不同规格(如API版本、屏幕规格等)的具体设备。如果同一设备类型存在多个entry模块,则必须配置distroFilter分发规则,使得应用市场在做应用的云端分发时,对该设备类型下不同规格的设备进行精确分发。
  • feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。

5. 库文件

库文件是应用依赖的第三方代码(例如so、jar、bin、har等二进制文件),存放在libs目录。 

6. pack.info

描述应用软件包中每个HAP的属性,由IDE编译生成,应用市场根据该文件进行拆包和HAP的分类存储。HAP的具体属性包括:

  • delivery-with-install: 表示该HAP是否支持随应用安装。“true”表示支持随应用安装;“false”表示不支持随应用安装。
  • name:HAP文件名。
  • module-type:模块类型,entry或feature。
  • device-type:表示支持该HAP运行的设备类型。