目錄
假如,鴻蒙能讓你用電飯煲來遙控電視...
跟阿斌一塊兒學鴻蒙(1). Hello Harmony
跟阿斌一塊兒學鴻蒙(2). Ability vs App?
跟阿斌一塊兒學鴻蒙(3). 遠程虛擬設備的限制和使用方法前端
鴻蒙OS是一個分佈式操做系統,而Ability做爲它調度的基本單元,那麼,一個分佈式Hello Harmony能夠有幾種寫法呢?後端
分佈式Hello Harmony用例
1. 根據Ability類型
1). FA <-> FA
FA = Feature Ability,用於顯示的前臺能力。網絡
能夠理解爲兩個前端應用在協做。架構
FA/FA模式的Hello Harmony,就是我說Hello, 你說Harmony。框架
在鴻蒙OS中,FA與FA的協做,有三種方式:前後端分離
-
啓動,即一個FA啓動另外一個FA
這嚴格來講並不算是一個協做,只是與別的操做系統相似,鴻蒙OS也提供了不一樣應用或者進程相互啓動的能力。分佈式 -
遷移(轉移,流轉,接力),即一個界面從一臺設備,轉移到另外一臺設備上。
例如,導航,查詢的時候在手機上,開車的時候在汽車車機上,走路的時候在手錶上,甚至耳機上。ide例如,視頻播放,從手機轉移到電視。
-
協同,多臺設備在各自的界面上一塊兒完成同一個工做。
例如,多人一塊兒修改一個文檔。post例如,多人一塊兒聯機玩遊戲。 須要注意的是,在鴻蒙OS的設計中,FA之間的協同,若是不依靠PA的幫助,是很難直接進行的。這就好像是MVC架構中,爲了解耦合,不一樣的View之間一般並不直接進行交互。 咱們固然能夠利用一些非鴻蒙OS獨有的特性,例如網絡,在不一樣FA之間搭建起溝通的橋樑,不過,這就很是不鴻蒙了。
2). FA <-> PA
PA = Particle Ability,不帶顯示的後臺服務能力。ui
前臺界面與後臺服務進行協做。
FA/PA的Hello Harmony,就是你大聲說Hello, 我小聲說Harmony。
這種交互,即便是在如今的APP開發中,也是一種常見的先後端分離的架構設計。
利用鴻蒙OS的多設備鏈接能力,能夠方便實現,在最適合顯示(交互)的設備上運行FA,而在算力更強更富餘的設備上運行PA。
例如,用手機與電視進行遊戲,手機充當遊戲主機(和手柄),而電視充當顯示。
3). PA <-> PA
不一樣後臺服務進行協做。
PA/PA的Hello Harmony,就是你小聲對我說Hello,我也小聲回覆Harmony。
這樣,不一樣的PA能夠專一負責本身的業務,而後經過組合,完成更復雜的任務。
其實,Data Ability 能夠認爲就是專門處理數據存儲的任務的一個PA,而普通Service Ability則是負責處理具體的任務,利用DA,能夠輕鬆爲一個任務增長存儲功能。
2. 根據應用
- 1). 同應用
- 2). 不一樣應用
其實,應用的概念在鴻蒙OS中已經被邊緣化了,而Ability纔是如今的C位。
因此,並不存在應用A說Hello,應用B說Harmony這種場景,只有Ability A說Hello,Ability B說Harmony的場景。
基於這個設定,其實,咱們不該關心Ability屬於哪一個應用,由於每一個Ability都是獨立的。
若是你仍是繞不過來,你能夠暫時直接認爲一個Ability就是一個應用。可是,要注意,在鴻蒙OS中,一個Ability極可能無法像傳統的App那樣,獨立完成一個任務。
而在代碼的組織和編寫時,對於共同完成一個任務的不一樣Ability,它們之間不免會有交集,而這,也僅僅限於代碼編寫時,在運行時,每一個Ability都有本身的進程和內存空間。
3. 根據設備
- 1). 單設備
- 2). 跨設備
鴻蒙OS天生具備鏈接多設備的能力,而對於開發者來講,須要考慮的是當前環境下有多少已經鏈接的設備,而不是要去鏈接哪臺設備。
具體的說,就是,咱們不須要考慮網絡的問題,而是要考慮,在當前環境中,用哪一個設備來完成任務更合理。
有多設備環境下的分佈式Hello Harmony,
* 能夠每臺設備輪流說Hello Harmony,即你說Hello Harmony,我也說Hello Harmony。 * 也能夠全部設備一塊兒完成一個Hello Harmony,即你說Hello 我說 Harmony。
參考文檔
* Ability 概述 > https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-ability-overview-0000000000029852 * 分佈式任務調度 > https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-distributed-overview-0000001050419345
後續
接下來,我將對不一樣的寫法,一一進行講解,歡迎持續關注。
做者:IT男阿斌
想了解更多內容,請訪問: 51CTO和華爲官方戰略合做共建的鴻蒙技術社區https://harmonyos.51cto.com