成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【木棉花】知識(shí)分享—Ability的介紹

原創(chuàng)
系統(tǒng) OpenHarmony
Page Ability,Service Ability和Data Ability三者都具有特定的功能,它們共同搭建起了鴻蒙應(yīng)用的工程架構(gòu)。

??想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

??https://harmonyos.51cto.com??

前言

對(duì)于鴻蒙開(kāi)發(fā)的初學(xué)者而言,了解HarmonyOS的一些基礎(chǔ)理論知識(shí)尤為重要。本期的知識(shí)分享主要帶大家了解鴻蒙開(kāi)發(fā)的核心元素——Ability, 以及梳理PageAbility,Service Ability和Data Ability三者的功能與三者之間的聯(lián)系。話不多說(shuō),我們趕緊發(fā)車吧!

正文

Ability是鴻蒙開(kāi)發(fā)中的核心元素?,F(xiàn)階段,HarmonyOS通過(guò)支持應(yīng)用以Ability為單位進(jìn)行部署,以實(shí)現(xiàn)應(yīng)用的相關(guān)業(yè)務(wù)邏輯。所以,作為鴻蒙應(yīng)用的開(kāi)發(fā)者,我們需要深入理解Ability的概念,探索Ability在實(shí)踐開(kāi)發(fā)中的應(yīng)用。

Ability的概念比較抽象,它的定義是:應(yīng)用所具備能力的抽象。通俗地講,Ability是一個(gè)應(yīng)用的重要組成部分(一個(gè)完整的應(yīng)用通常帶有很多Ability),它能為應(yīng)用實(shí)現(xiàn)特定的業(yè)務(wù)功能。Ability分為兩種大類型,分別是Feature Ability(FA)和Particle Ability(PA),每種類型都開(kāi)發(fā)者提供了不同的模板,以實(shí)現(xiàn)不同的功能。

接下來(lái)我將著重介紹三種在鴻蒙開(kāi)發(fā)中尤其重要的Ability——Page Ability,Service Ability和Data Ability。

前面我們提到了,Ability分為兩種大類型——Feature Ability(FA)和Particle Ability(PA)。其中,F(xiàn)A支持Page Ability(page模板是FA唯一支持的開(kāi)發(fā)模板),而Page Ability用于提供與用戶交互的能力(即相關(guān)UI能力)。目前,HarmonyOS提供了Java UI與JS UI兩種UI框架用于實(shí)現(xiàn)應(yīng)用與用戶交互的能力,它們都有各自的優(yōu)點(diǎn)。其中,Java UI提供了細(xì)粒度的UI編程接口,這使得應(yīng)用開(kāi)發(fā)的過(guò)程更具靈活性。JS UI(JavaScript UI)則提供了相對(duì)高層的UI描述,在實(shí)現(xiàn)同一個(gè)業(yè)務(wù)功能的過(guò)程中,相較于Java語(yǔ)言,JS語(yǔ)言下編譯的代碼是簡(jiǎn)短很多的。所以,運(yùn)用JS UI可以使應(yīng)用開(kāi)發(fā)的過(guò)程變得更加簡(jiǎn)單和省力。PA支持Service Ability和Data Ability,其中,Service Ability中的Service模板用于提供后臺(tái)運(yùn)行任務(wù)的能力,Data Ability中的Data模板用于對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪問(wèn)抽象。

為了厘清Page Ability,Service Ability和Data Ability三者之間的關(guān)聯(lián),以及它們?cè)邙櫭蓱?yīng)用開(kāi)發(fā)中的具體作用,我首先介紹MVC框架的概念。

MVC(Model View Controller)框架是軟件工程中的一個(gè)重要的開(kāi)發(fā)理念,它作為一種軟件框架模式被當(dāng)今的軟件開(kāi)發(fā)企業(yè)廣泛使用。在這種框架模式下的開(kāi)發(fā)中,一個(gè)應(yīng)用程序?qū)⒈环纸獬扇齻€(gè)核心功能部件:Model,View和Controller。其中,View表示與用戶交互的UI界面(對(duì)應(yīng)頁(yè)面模塊),Model表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則(對(duì)應(yīng)服務(wù)模塊),Controller表示用于調(diào)用數(shù)據(jù)接口的控制器(對(duì)應(yīng)數(shù)據(jù)模塊)。這意味著頁(yè)面,服務(wù)和數(shù)據(jù)這三大模塊將在開(kāi)發(fā)過(guò)程中各自獨(dú)立,互不影響。因此,企業(yè)的技術(shù)團(tuán)隊(duì)可以專心研究和實(shí)踐各自負(fù)責(zé)的模塊,而無(wú)需關(guān)心自己任務(wù)之外的模塊:負(fù)責(zé)頁(yè)面模塊的技術(shù)團(tuán)隊(duì)只需要設(shè)計(jì)用戶界面,負(fù)責(zé)服務(wù)模塊的技術(shù)團(tuán)隊(duì)只需要實(shí)現(xiàn)軟件后臺(tái)的業(yè)務(wù)邏輯,負(fù)責(zé)數(shù)據(jù)模塊的技術(shù)團(tuán)隊(duì)只需要管理數(shù)據(jù)接口和提供數(shù)據(jù)。當(dāng)三大模塊被設(shè)計(jì)好之后,再將這三個(gè)模塊合理拼接,即可得到一個(gè)完整的應(yīng)用程序。顯然,利用MVC框架進(jìn)行應(yīng)用的實(shí)踐開(kāi)發(fā),能大大提升一項(xiàng)軟件工程的開(kāi)發(fā)效率。

事實(shí)上,Page Ability,Service Ability和Data Ability之間的關(guān)系也類似于MVC框架中三個(gè)核心部件的關(guān)系。Page Ability的功能是提供與用戶交互的能力,它所作用的對(duì)象是UI頁(yè)面,所以,Page Abillity主要負(fù)責(zé)頁(yè)面模塊,設(shè)計(jì)可視化元素是Page Ability的重頭戲;Service Ability的功能是提供后臺(tái)運(yùn)行任務(wù)的能力,它代表著一個(gè)應(yīng)用程序最核心的服務(wù)功能,所以,Service Ability主要負(fù)責(zé)服務(wù)模塊;Data Ability的功能是對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪問(wèn)抽象,它能為Page Ability和Service Ability調(diào)用數(shù)據(jù)訪問(wèn)接口以提供相應(yīng)數(shù)據(jù),所以,Data Ability主要負(fù)責(zé)數(shù)據(jù)模塊。由此可見(jiàn),鴻蒙應(yīng)用的內(nèi)部設(shè)計(jì)也是符合MVC理念的。值得一提的是,主要負(fù)責(zé)某個(gè)模塊的Ability并不是不能參與到其他模塊(比如,Page Ability也可以參與服務(wù)模塊和數(shù)據(jù)模塊),但Page Ability,Service Ability和Data Ability它們各自負(fù)責(zé)的對(duì)應(yīng)模塊通常是符合當(dāng)今的主流方向的(即MVC框架模式)。

通常情況下,一個(gè)UI頁(yè)面的布局和可視化元素由Page Ability實(shí)現(xiàn)。當(dāng)頁(yè)面需要調(diào)用相關(guān)服務(wù)功能時(shí),Page Ability會(huì)向Service Ability發(fā)出服務(wù)請(qǐng)求,于是應(yīng)用的后臺(tái)便會(huì)給出相應(yīng)的響應(yīng)。當(dāng)頁(yè)面或者Service Ability需要相關(guān)數(shù)據(jù)時(shí),它們便向Data Ability發(fā)出數(shù)據(jù)請(qǐng)求,Data Ability則給出數(shù)據(jù)結(jié)果響應(yīng),為它們提供數(shù)據(jù)訪問(wèn)接口。

總而言之,Page Ability,Service Ability和Data Ability三者都具有特定的功能,它們共同搭建起了鴻蒙應(yīng)用的工程架構(gòu)。

結(jié)語(yǔ)

小藍(lán)本期的知識(shí)分享就到此結(jié)束了qwq。

??想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

??https://harmonyos.51cto.com??

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2021-12-01 15:40:23

鴻蒙HarmonyOS應(yīng)用

2021-12-01 15:38:33

鴻蒙HarmonyOS應(yīng)用

2021-11-02 14:55:42

鴻蒙HarmonyOS應(yīng)用

2021-09-17 14:47:33

鴻蒙HarmonyOS應(yīng)用

2013-07-08 15:41:07

Ubuntu

2022-02-17 21:05:26

AbilityJS FAJava PA

2011-11-04 17:26:12

2009-09-15 18:41:08

Python學(xué)習(xí)資料

2013-08-27 14:40:03

系統(tǒng)監(jiān)控

2010-04-30 14:55:09

Unix系統(tǒng)

2010-04-30 01:00:08

Unix shell

2009-06-12 09:07:01

EJB入門

2009-09-22 10:57:42

Hibernate專業(yè)

2011-04-13 14:19:52

Asp.Net.Net

2015-07-29 10:36:05

hadoop數(shù)據(jù)挖掘

2009-04-02 13:45:36

網(wǎng)關(guān)網(wǎng)絡(luò)

2010-05-11 19:08:36

Unix系統(tǒng)

2022-03-30 08:37:32

Python函數(shù)編程自定義函數(shù)

2010-04-22 12:42:24

Aix操作系統(tǒng)

2022-03-02 15:35:57

UI界面容器組件鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: h在线看| 亚洲成人二区 | 国产乱码精品一区二区三区中文 | 亚洲欧美日本在线 | 日韩av电影院 | 久草中文在线 | 日韩在线免费视频 | 亚洲一二三区在线观看 | 特黄小视频 | 欧美激情一区二区三区 | 中文字幕亚洲一区二区三区 | 久久久久国产精品一区二区 | 精品亚洲一区二区 | 久久人人网 | 黄色国产 | 国产精品美女久久久久久不卡 | 91精品国产一区二区三区 | 看a网站 | 亚洲在线中文字幕 | 成av在线 | 一本大道久久a久久精二百 国产成人免费在线 | 成人亚洲精品久久久久软件 | 亚洲欧美一区二区三区情侣bbw | 国产伦精品一区二区三区高清 | 最新黄色在线观看 | 国产一区二区在线免费视频 | 久久69精品久久久久久久电影好 | 午夜精品一区二区三区在线视频 | 久久99久久99精品免视看婷婷 | 男女羞羞的网站 | 国产美女网站 | 久夜精品 | 精品成人佐山爱一区二区 | 国产精品久久久久久久岛一牛影视 | 狠狠操你 | 久草在线中文888 | 国产精品一区二区av | 久久久久久久91 | 中文字幕国产 | 亚洲 欧美 日韩 精品 | 一级a毛片 |