成人免费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-02-24 16:00:59

Ability鴻蒙JS

2022-09-08 15:18:51

Ability鴻蒙

2022-09-07 15:28:02

Stage模型Ability

2018-03-28 08:09:54

ABB Ability工業云邊緣計算

2023-03-24 14:52:27

AbilityPage應用

2021-06-18 14:55:57

鴻蒙HarmonyOS應用

2022-02-09 19:37:00

Ability鴻蒙開發

2021-09-18 14:40:37

鴻蒙HarmonyOS應用

2022-10-27 16:01:41

AbilityStage模型FA模型

2020-12-03 11:34:12

Ability vs

2021-01-06 10:59:14

鴻蒙HarmonyOSPage Abilit

2021-07-01 09:19:56

鴻蒙HarmonyOS應用

2021-05-28 17:01:49

鴻蒙HarmonyOS應用

2022-05-24 15:06:57

AbilityeTS FA鴻蒙

2021-03-12 13:46:49

鴻蒙HarmonyOS應用

2021-06-28 14:41:36

鴻蒙HarmonyOS應用

2021-09-18 14:45:26

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久模特 | 久久久九九九九 | 黄色大片在线视频 | 亚洲美乳中文字幕 | 午夜影院黄| 精品久久久一区 | 日韩视频二区 | 一区二区三区四区国产 | 中文字幕精品一区二区三区精品 | 黄色免费观看网站 | 日日操视频 | 毛片在线免费播放 | 免费99精品国产自在在线 | 免费一区二区三区 | 欧美国产日韩在线观看成人 | 啪啪免费网 | 久久综合九色综合欧美狠狠 | 亚洲一区中文字幕 | 欧美专区在线 | 成人午夜免费在线视频 | av网站免费在线观看 | 久热国产精品视频 | 欧美日韩18 | 热久久性 | 国产精品久久久久久久久久妇女 | 亚洲狠狠爱| 久久久亚洲 | 日韩黄a | 亚洲日本乱码在线观看 | 国产精品av久久久久久毛片 | 亚洲精品免费在线 | 性色av一区二区三区 | 国产一区二区三区四区五区加勒比 | 久久99精品久久久 | 国产一区二区免费 | 久久国产精品免费 | 色爱综合网 | 手机看片在线播放 | 中文字幕亚洲一区二区三区 | 毛片久久久 | 在线观看国产网站 |