HarmonyOS开发详解(一)——带你全面认识新一代万物联网的鸿蒙智能终端
? ? ? ? 關注華為鴻蒙系統好久了,看了鴻蒙發布會、也看了很多鴻蒙的科普文章,深深的被鴻蒙的特性和未來應用吸引。鴻蒙的特性和優點有非常多,如果用一句話來概括:讓萬物活起來充滿想象;如果用兩句話來概括:鴻蒙實現了各種設備的虛擬化,通過軟總線實現了設備的互聯和數據同步。用更多的話來描述鴻蒙:萬物互連,全場景,分布式,微內核,軟總線。。。
? ? ? ? 接下來就參考華為鴻蒙官網專業的介紹一下到底什么是HarmonyOS。以上的一句、兩句概括純屬一家理解之言。
1、HarmonyOS概述
1.1HarmonyOS的定位
????????HarmonyOS是一款面向萬物互聯時代的、全新的分布式操作系統。在傳統的單設備系統能力基礎上,HarmonyOS提出了基于同一套系統能力、適配多種終端形態的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設備,提供全場景(移動辦公、運動健康、社交通信、媒體娛樂等)業務能力
1.2HarmonyOS的三大特征
? ? ? ? 1)使用者:多設備融為一體——形成超級終端,硬件設備可以彈性擴展、設備互助、資源共享(比如手機可以用電腦、電視屏幕,來彌補手機屏幕太小);
? ? ? ? 具體到使用者而言,能快速實現設備互聯(碰一碰)、能力互助,并能提供流暢的體驗(流暢很重要,是智能的第一步,是消費者愿意使用的前提,也是鴻蒙厲害的地方——數據不延遲)。
? ? ? ? 2)應用開發者:一次開發,多終端部署
? ? ? ? 具體而言HarmonyOS通過分布式技術,屏蔽不同終端差異,讓開發者關注應用、高效開發。
? ? ? ? 3)硬件開發者:統一操作系統,彈性部署
? ? ? ? HarmonyOS采用組件化的設計,硬件開發者可以根據設備特性、設備需求對操作系統進行裁剪安裝——一個OS,按需求任意彈性部署,這種特性讓HarmonyOS支持小到路由器、烤箱,大到電視、手機、車機都可以部署。
? ? ? ? HarmonyOS支持多種開發語言:Java、XML、C/C++、JavaScript、CSS、HML(HarmonyOS Markup Language)。
1.3 HarmonyOS技術架構
?????????HarmonyOS由四部分構成:內核層、服務層、框架層、應用層
????????1)內核層
? ? ? ? 一)、多內核設計,可裁剪選擇適應不同設備;通過內核抽象層(KAL,Kernel Abstract Layer)屏蔽設備內核差異,對外提供線程管理、內存管理、文件系統、網絡管理和外部設備。
? ? ? ? 二)、驅動子系統,硬件驅動框架(HDF,Hard Driver Framework),對外統一外訪能力、驅動開發、管理框架。
? ? ? ? 2)系統服務
? ? ? ? 一)、基本能力子系統,為分布式應用,提供運行、調度、遷移等提供能力,由分布式軟總線、數據管理、任務調度、方舟多語言、公共基礎庫、多模輸入、圖形、安全、Ai等子系統組成。
? ? ? ? 二)、基礎軟件服務子系統,提供公共、通用服務,如事件、電話、多媒體、DFX、Dv等組成
? ? ? ? 三)、硬件服務子系統,為HarmonyOS提供硬件服務,如位置服務、生物特征識別、穿戴、IoT硬件服務等子系統組成。
? ? ? ? 根據不同設備可以對以上三個系統選擇性安裝,而且支持對內部按功能更細粒度的裁剪。
? ? ? ? 3)框架層
? ? ? ? 為HarmonyOS提供多語言程序框架和Ability框架、兩種UI(Java UI、適用于JS/TS的方舟開發框架)、軟硬件對外API。同樣框架層支持任意裁剪、組合。
? ? ? ? 4)應用層(包含系統應用和第三方應用)
? ? ? ? HarmonyOS的應用有一個FA(Feature Ability)或PA(Particle Ability)組成,PA有界面與用戶交互,PA無界面提供后臺運行任務以及統一數據訪問抽象。PA為FA提供支撐。
? ? ? ? 如下圖視頻通話功能(有界面,屬于FA),通話的同時使用了攝像頭采集(PA1)、視頻美顏處理(PA2)、超級夜景能力(PA3),三者共同支撐了視頻通話這個功能且沒有界面。
? ? ? ? FA、PA可以按需下載安裝,按需組合分發。
? ? ? ? 比如電視只有視頻采集,只需要安裝PA1即可;同時支持夸設備調度、分發,讓一個設備具備利用另一個設備的能力。
?1.4 HarmonyOS關鍵特性
?1.4.1硬件互助、資源共享
????????多種設備之間能夠實現硬件互助、資源共享,依賴的關鍵技術包括四大技術:分布式軟總線、分布式設備虛擬化、分布式數據庫管理、分布式任務調度等。
? ? ? ? 1)分布式軟總線(構建設備連接通道,解決設備間通信問題)
????????分布式軟總線是手機、平板、智能穿戴、智慧屏、車機等分布式設備的通信基座,為設備之間的互聯互通提供了統一的分布式通信能力,為設備之間的無感發現和零等待傳輸創造了條件。開發者只需聚焦于業務邏輯的實現,無需關注組網方式與底層協議。
? ? ? ? 要很好的理解分布式軟總線,得先解釋一下總線,他是一個傳統計算機硬件中的一個概念。
? ? ? ? 總線,英文名Bus,在傳統計算機中總線是一種內部結構,它是CPU、內存、輸入、輸出設備間傳遞信息的公共通道,主機各個設備以及外部設備通過總線鏈接,從而形成了計算機硬件系統。總線可以劃分為數據總線、地址總線、控制總線,分別用來傳輸數據、數據地址、控制信號。具備特點:即插即用、高帶寬、低延時、高可靠、標準。
? ? ? ? 現在再來看分布式總線,就是構建不同設備之間通信的總線。現實中不同設備可能涉及藍牙鏈接、WiFi鏈接,華為通過構建軟件總線屏蔽設備之間的差異,把開發者從底層解脫出來,集中于上層應用,可以說分布式軟總線是所有開發和應用的基礎。華為通過分布式軟總線解決了以下幾個核心問題:
- ? 快速鏈接(一碰連,自動搜索鏈接,降低人工干預)
- ? 異構網絡組網(融合WiFi、藍牙)
- ? 軟總線之間傳輸(數據、任務)
? ? ? ?解決以上核心問題,就為不同設備間構建了高效、低延時、高可靠的通信基礎。下圖是HarmonyOS官方分布式軟總線架構圖,總線中樞解決連接+異構組網問題,任務和數據總線解決傳輸問題;同樣類比過來和我們理解的硬件總線之間的通信有異曲同工之妙,但華為更厲害的地方在于,計算機都是標準接口、標準通信設備,而Harmony面對的是不同的設備、不同的接口、動態的環境。
? ? ? ?以上總線內容參考了《鴻蒙OS尖刀武器之分布式總線技術全解析》,感興趣的可以更詳細的去看一下:鴻蒙 OS 尖刀武器之分布式軟總線技術全解析
? ? ? ? 2)分布式虛擬化設備
? ? ? ? 將各個組網設備虛擬化,實現不同設備之間資源融合、管理、數據處理統一調度,所有的設備就像一個統一的超級虛擬終端。讓不同設備根據用戶的需求自由調度,發揮各自優勢。
? ? ? ? 比如只能用手機視頻通話,可以通過設備虛擬化,通過音箱傳輸聲音,電視展示內容,電視攝像頭采集數據,你就可以在房間里邊做家務邊聊天。
? ? ? ? 3)分布式數據管理
? ? ? ? 這里就不難理解了,基于分布式軟總線,解決應用程序數據和用戶數據分布式管理,實現用戶數據、業務邏輯、數據存儲夸設備,隨處流轉。
? ? ? ? 親自體驗過的,手機一碰鏈接電腦,點擊手機上的Word,直接Windows的office打開,編輯完畢以后手機上的數據也被編輯了。
????????這點覺得特別厲害,以前一直以為是電腦端復制了一份手機端的Word而已,就很難保障任務同步、數據同步;這點保障了夸設備任務繼續的可能,比如你去某一個地方:正在車上導航,下車需要繼續走,超級終端發現你遠離了車輛,就立馬從車載導航切換到手機不行導航,實現功能/任務夸設備遷移,這才是真正的“以人為本”。
? ? ? ? 4)分布式任務調度
? ? ? ? 基于分布式軟總線、分布式數據管理、分布式Profile等技術特性,構建統一的分布式服務管理(發現、同步、注冊、調用)機制,支持對跨設備的應用進行遠程啟動、遠程調用、遠程連接以及遷移等操作,能夠根據不同設備的能力、位置、業務運行狀態、資源使用情況,以及用戶的習慣和意圖,選擇合適的設備運行分布式任務。
1.4.2 一次開發,多終端部署
????????HarmonyOS提供了用戶程序框架、Ability框架以及UI框架,這些框架支持多終端、多尺寸屏幕、多分辨率DPI、多版本API等方面業務邏輯、頁面邏輯,支持邏輯頁面復用,真正做到一次開發、多端部署。
????????UI框架支持使用Java、JS、TS語言進行開發,并提供了豐富的多態控件,可以在手機、平板、智能穿戴、智慧屏、車機上顯示不同的UI效果。
1.4.3 統一OS,彈性部署
? ? ? ? HarmonyOS通過組件化和小型化設計,能夠適配不同類型的設備和需求,支持:
- 組支持件的選擇(不需要的不安裝,比如手機不用安裝視頻功能),根據硬件形態和需求選擇組件
- 支持組件內部功能選擇(組件可大可小,只要部分需要的功能),根據硬件和資源形態,任意選擇組件內部功能
- 支持組件間依賴的關聯(平臺級的可大可小,依賴的外部組件自動下載,不需要就可以省去),根據編譯關系,自動生成組件依賴關系;
????????鴻蒙的特性看了很多,一直覺得心動,今天終于開篇了;最大的感受以前覺得鴻蒙很厲害,通過學習才更加理解鴻蒙為什么厲害;而通過學習也對鴻蒙更加心動。
? ? ? ? 雖然物聯網、5G、包括HarmonyOS自己,以及開發者、設備、生態都還一片混沌,但是隨著對HarmonyOS的了解,更加確信它會像盤古開天辟地一樣成就一個萬物智能的未來!
????????參考學習鴻蒙官方文檔:? ?鴻蒙官方文檔中心
總結
以上是生活随笔為你收集整理的HarmonyOS开发详解(一)——带你全面认识新一代万物联网的鸿蒙智能终端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux免费的内网穿透
- 下一篇: Tomcat 集群部署