渣渣兔 发表于 2024-10-21 16:29:20

学习鸿蒙一定要搞清楚的几个概念

目录

1、UI框架
2、应用模型
2.1、应用模型介绍
2.2、两种应用模型
2.3、应用模型和UI框架的关系
3、Ability
3.1、Ability介绍
3.2、FA模型的ability
3.3、Stage模型的Ability 

1、UI框架

HarmonyOS提供了一套UI(User Interface,用户界面)开发框架,即方舟开发框架(ArkUI框架),用于快速搭建漂亮的用户界面。
它为开发者提供应用UI开发所必需的能力,比如多种组件、布局盘算、动画能力、UI交互、绘制等。
https://i-blog.csdnimg.cn/blog_migrate/256df8f969f574721fad817aea2a695e.png
  组件文档详细参考:
组件文档https://i-blog.csdnimg.cn/blog_migrate/003a2ce7eb50c2e24a8c624c260c5930.pnghttps://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/84_u58f0_u660e_u5f0f_u5f00_u53d1_u8303_u5f0f_uff09-0000001427744776-V2
ArkUI框架提供了ArkTS语言开发方式和兼容JS的类Web开发方式,推荐利用ArkTS语言开发方式。
https://i-blog.csdnimg.cn/blog_migrate/54aff1310e9ec29aaa705310894b4827.png
2、应用模型

2.1、应用模型介绍

应用模型可以明白为HarmonyOS为开发者提供的应用程序开发规范,组织文件入口设置、生命周期、历程线程服务、配置项内容等,具有必备的组件和运行机制,让开发者在同一的模型举行应用开发,更简单、高效。

2.2、两种应用模型

FA(Feature Ability)模型: HarmonyOS API 7开始支持的模型,已经不再主推。
Stage模型: HarmonyOS API 9开始新增的模型,是目前主推且会恒久演进的模型。
https://i-blog.csdnimg.cn/blog_migrate/8b06b0bffaf2f253a41e97568363ca68.png
Stage模型与FA模型最大的区别在于:
Stage模型中,多个应用组件共享同一个ArkTS引擎实例;
而FA模型中,每个应用组件独享一个ArkTS引擎实例。
因此在Stage模型中,应用组件之间可以方便的共享对象和状态,同时淘汰复杂应用运行对内存的占用。

详细模型解读参考地址:
鸿蒙模型文档https://i-blog.csdnimg.cn/blog_migrate/003a2ce7eb50c2e24a8c624c260c5930.pnghttps://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/application-model-description-0000001493584092-V2

​​​​​​​2.3、应用模型和UI框架的关系

UI框架提供了:ArkTS语言和类JS的web语言方式开发范式。
应用模型提供了:FA模型和Stage模型。
https://i-blog.csdnimg.cn/blog_migrate/6f05a95d501f0906c6102b3221655a68.png
总之,鸿蒙应用开发推荐应用模型利用Stage模型,UI框架利用ArkTS声明式开发范式。

3、Ability

3.1、Ability介绍

Ability意为能力,实际中手机有打电话、发短信、玩游戏的能力,电饭煲具有蒸煮煲汤的能力,电视有播放视频的能力,音响有播放音乐的能力。
Ability是HarmonyOS应用程序提供的抽象功能,在HarmonyOS中统统皆能力。
HarmonyOS分布式系统所要实现的不仅仅是单一的能力,它所要达到的效果是能力可以单独存在,可以互相关联,可以彼此调用互相迁移。
比如:可以将手机端播放的视频迁移到聪明屏,通过大屏来观看视频,同时也可以将视频音效分离到外设音响;通过设备A获取设备B的数据;多设备终端数据同步等。
在HarmonyOS分布式系统中,统统皆能力,能力无大小。
在HarmonyOS应用程序中,一个页面即一种能力,如登录页面,即具有登录功能的能力;一个服务即一种能力,如后台播放音乐的能力;一个数据操纵即一种能力,如获取数据库数据等。同时能力之间也可以互相调用,通过页面能力来管理后台音效播放与暂停。
一个HarmonyOS应用程序可以包含一个或多个能力,HarmonyOS应用程序可以以能力为单位举行部署。
3.2、FA模型的ability

在HarmonyOS应用程序的FA模型中将能力分为FA(Feature Ability,即元程序)和PA(Particle Ability,即元服务)两种范例,针对两种范例提供了不同的模板可以在日常业务开发中直接利用。
FA: 支持PageAbility组件;
PA:支持ServiceAbility组件和DataAbility组件。
https://i-blog.csdnimg.cn/blog_migrate/8e62790b06284c1e9901a6cbfc1f355f.png
PageAbility
Page 模板的 Ability,用于提供与用户交互的能力。
一个 Page 可以由一个或多个 AbilitySlice 构成,AbilitySlice 是指应用的单个页面及其控制逻辑的总和,可以称之为子页面,可以存在并复用在其他PageAbility上.
跨设备迁移支持将 Page 在同一用户的不同设备间迁移,以便支持用户无缝切换的诉求。
ServiceAbility
Service 模板的 Ability(以下简称 "Service")主要用于后台运行任务(如执行音乐播放、文件下载 等),但不提供用户交互界面。
Service 可由其他应用或 Ability 启动,即利用户切换到其他应用,Service 仍将在后台继续运行。
DataAbility
Data 模板的 Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。
Data 既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。
数据的存放情势多样,可以是数据库,也可以是磁盘上的文件。
Data 对外提供对数据的增、删、改、查,以及打开文件等接口,这些接口的详细实现由开发者提供。

3.3、Stage模型的Ability 

https://i-blog.csdnimg.cn/blog_migrate/ca6495606520aea40232c9af45e5539d.png
在HarmonyOS应用程序的Stage模型中将能力分为:UIAbility组件和ExtensionAbility组件。
UIAbility组件:包含UI界面,提供展示UI的能力,主要用于和用户交互。
ExtensionAbility组件:提供特定场景(如卡片、输入法)的扩展能力,满足更多的利用场景。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 学习鸿蒙一定要搞清楚的几个概念