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

2024-02-23 09:12

本文主要是介绍学习鸿蒙一定要搞清楚的几个概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

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交互、绘制等。

  组件文档具体参考:

组件文档icon-default.png?t=N7T8https://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语言开发方式。

2、应用模型

2.1、应用模型介绍

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

2.2、两种应用模型

FA(Feature Ability)模型: HarmonyOS API 7开始支持的模型,已经不再主推。

Stage模型: HarmonyOS API 9开始新增的模型,是目前主推且会长期演进的模型。

Stage模型与FA模型最大的区别在于

Stage模型中,多个应用组件共享同一个ArkTS引擎实例;

而FA模型中,每个应用组件独享一个ArkTS引擎实例。

因此在Stage模型中,应用组件之间可以方便的共享对象和状态,同时减少复杂应用运行对内存的占用。

具体模型解读参考地址:

鸿蒙模型文档icon-default.png?t=N7T8https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/application-model-description-0000001493584092-V2

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

UI框架提供了:ArkTS语言和类JS的web语言方式开发范式。

应用模型提供了:FA模型和Stage模型。

总之,鸿蒙应用开发推荐应用模型使用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组件。

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 

在HarmonyOS应用程序的Stage模型中将能力分为:UIAbility组件和ExtensionAbility组件。

UIAbility组件:包含UI界面,提供展示UI的能力,主要用于和用户交互。

ExtensionAbility组件:提供特定场景(如卡片、输入法)的扩展能力,满足更多的使用场景。

这篇关于学习鸿蒙一定要搞清楚的几个概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/738143

相关文章

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx