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

JSFA調用PA之一Ability概念及Ability與Internal Ability

原創
系統 OpenHarmony
今天這篇文章主要講地了Ability還有兩種調用方式,這幾天我還會更新用具體案例來講解Ability,InternalAbility兩種調用方式的具體實現方式。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

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

引言

最近一段時間,我會跟大家討論一下JS FA調用Java PA。這部分我打算由淺開始,先看最基礎的東西,然后我們再解讀一下官方給的demo,詳細了解具體如何用代碼實現JS FA 調用Java PA。

所以在這篇文章,主要是一些基礎概念,首先是Ability的概念,然后是JS FA 調用Java PA的兩種方式的區別。理解完這些概念后,可以更好地運用JS FA調用Java PA機制。

Ability

Ability是應用所具備能力的抽象,HarmonyOS的用戶應用程序包APP由一個或多個Hap包組成。每個Hap可以包含一個或多個Ability。Ability分為兩種類型:Feature Ability(簡稱FA)和Particle Ability(簡稱PA),Ability是HarmonyOS應用的基本組成單元,能夠實現特定的業務功能。

FA有UI界面,而PA無UI界面。

FA有多種展現形式,如普通界面形式Page Ability,服務卡片形式Form等,一般使用JS 語言實現前臺界面。PA支持ServiceAbility和Data Ability。ServiceAbility提供后臺運行任務的能力,如處理復雜后臺任務等。Data Ability用于對外部提供統一的數據訪問抽象。這兩個Ability一般使用Java 語言實現。

上面三段話是比較官方的解釋,我們現在就Ability這個單詞理解,它翻譯過來就是能力,說白了,Ability就是一個完整的能力模塊(具備完整的邏輯),并且它是一個應用的最小組成單位。

下面我們舉個例子來更深地理解Ability,現在就假設我們要做一個簡單的音樂播放應用。

首先從結構上來看,這個APP只有一個Hap,Hap下面就對應著具體的每個功能模塊(也就是每個Ability),分別是播放器界面顯示模塊(FA—Page Ability),音樂控制模塊(PA—Service Ability)和音樂數據訪問模塊(PA—Data Ability)。

當然,這個APP也可以由多個Hap組成,比如:

下面我們就來看看為什么說Ability就是一個完整的能力模塊。

FA—Page Ability

首先是播放器界面顯示模塊(FA—Page Ability),因為它像Web前端開發范式一樣,具備頁面的渲染和頁面之間的簡單邏輯處理,所以是一個完整的功能模塊,也就滿足了我剛剛說的Ability概念。

PA—Service Ability

接著就是音樂控制模塊(PA—Service Ability),這部分也類比一下我們常見Web開發范式,它就像后端編寫的一些復雜邏輯處理的功能接口,比如隨機播放音樂,還是順序播放音樂,當FA(前端)調用該PA(后端音樂播放方式接口)時,就可以獲得該能力。一個接口當然具備完整的邏輯處理能力,也是一個完整的功能模塊,也就滿足了我剛剛說的Ability概念。

PA—Data Ability

最后是我們的音樂數據訪問模塊(PA—Data Ability),我們把它類比成Web開發范式的后端數據庫,里面存儲著音頻文件,音樂封面,用戶評論等數據,而要拿到這些數據,那我們就需要訪問這個數據庫。可以看出,這個也是一個完整的能力模塊,它負責著整個應用的數據訪問和存儲。

到這里相信大家都已經知道了Ability大概是啥了,下面附一張他們之間的關系圖

該圖來源于:https://harmonyos.51cto.com/posts/10189

JS FA 調用 Java PA的兩種方式

剛剛說到了FA(前端)調用該PA(后端音樂播放方式接口),這個過程其實就是JS FA 調用 Java PA,它可以類比成Web開發范式中前端對后端的接口請求。

而JS FA 調用 Java PA是有兩種方式的,分別是Ability和Internal Ability

Ability調用方式

Ability方式,與FA通過RPC方式通信,該方式的優點在于PA可以被多個不同的FA調用。

Internal Ability調用方式

Internal Ability方式,集成在FA中,適用于與FA業務邏輯關聯性強,響應時延要求高的服務。該方式僅支持本FA訪問調用。

區別

從上面兩張圖我們可以看到,Ability方式中PA是一個單獨的進程,而InternalAbility方式中FA和PA是在同一個進程。

因為后者PA和FA在同一個進程中,相互通信快,所以對于延時低,性能高或者復用性不高的PA需求,就采用InternalAbility調用方式。

當該PA復用性高,需要被多個不同的FA調用時,就采用Ability調用方式。

小結

今天這篇文章主要講地了Ability還有兩種調用方式,這幾天我還會更新用具體案例來講解Ability,InternalAbility兩種調用方式的具體實現方式。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

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

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-02-17 21:19:35

JSFA操作系統鴻蒙

2022-02-17 21:28:08

AbilityJSFA鴻蒙

2022-07-11 16:26:37

eTS計算鴻蒙

2022-09-08 15:18:51

Ability鴻蒙

2022-02-24 16:00:59

Ability鴻蒙JS

2022-09-07 15:28:02

Stage模型Ability

2018-03-28 08:09:54

ABB Ability工業云邊緣計算

2023-03-24 14:52:27

AbilityPage應用

2021-03-12 13:46:49

鴻蒙HarmonyOS應用

2022-05-24 15:06:57

AbilityeTS FA鴻蒙

2020-12-22 11:09:20

鴻蒙Feature AbiAbilitySlic

2022-05-20 10:56:54

AbilityeTS FA調用

2021-08-30 18:34:35

鴻蒙HarmonyOS應用

2022-10-27 16:01:41

AbilityStage模型FA模型

2021-06-18 14:55:57

鴻蒙HarmonyOS應用

2022-02-09 19:37:00

Ability鴻蒙開發

2021-09-18 14:40:37

鴻蒙HarmonyOS應用

2021-11-15 15:11:14

鴻蒙HarmonyOS應用

2020-12-03 11:34:12

Ability vs

2021-07-01 09:19:56

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩精品一区二区 | 精品免费国产一区二区三区四区 | 在线视频91 | 国产不卡视频在线 | 国产日韩欧美在线一区 | 成人久久18免费网站图片 | 亚洲精品99| 欧美精品一区在线 | 久久久国产精品视频 | 日本三级网站在线 | 男女免费观看在线爽爽爽视频 | 羞羞的视频在线观看 | h在线 | 福利视频一区二区三区 | 日本一区二区三区精品视频 | 中文久久 | 午夜精品久久久久久久久久久久 | 亚洲精品综合 | 四虎首页 | 黑人精品 | 久干网 | 国产精品伦一区二区三级视频 | 综合久久av | 国产精品久久久久影院色老大 | 国产精品资源在线观看 | 春色av| 国产精品久久久精品 | 成人免费视频观看视频 | 亚洲男人的天堂网站 | 91久色 | 国产一区二区在线视频 | 永久av | www.99久久.com | 福利片在线 | 欧美激情一区 | 国产精品国产三级国产aⅴ中文 | 成人在线视频网 | 日韩精品在线看 | 成年人精品视频 | 国产精品久久777777 | 欧美另类视频在线 |