天天看點

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

來自 | GitHub科技

本文面向的是開發人員,主要想通過科普讓大家了解一下鴻蒙開發。接下來,我想給大家科普一下這個這麼火的鴻蒙系統。

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

到底什麼是鴻蒙 OS

在官網上看到鴻蒙 OS 的簡介是,分布式能力造就新硬體、新互動、新服務,打開煥然一新的全場景世界。以及釋出會提及最多是他的萬物互連,全場景,分布式,微核心,軟總線。

換句話說,鴻蒙OS 是為全場景,分布式設計的,微核心,軟總線是他重要的實作。

C/C++的學習裙【七一二 二八四 七零五 】,無論你是小白還是進階者,是想轉行還是想入行都可以來了解一起進步一起學習!裙内有開發工具,很多幹貨和技術資料分享!

對于全場景,分布式了解,我們可以想一下華為自家的多屏協作,以及電腦,平闆和手機可以很友善實作在電腦上操作平闆,手機。

另外現在雙 11 買到的一些新上市家電,上面可以看到鴻蒙的小 Logo,這些帶上鴻蒙的家電,可以通過碰一碰無需安裝 App 實作配置組網,也十分友善。

在華為開發者大會上,華為也展示了一些精彩的案例。大家有興趣回頭翻一翻。這些都是通過全場景,分布式特性做到的新互動和體驗,十分讓人期待。

到此應該有一個疑問,如果不用鴻蒙 OS,能不能實作以上互動?多屏協同,多裝置協同?

答案是可以的,官方有提到,他們把鴻蒙 OS 一些能力,例如分布式提出來放到 EMUI 上。

我們在華為的開發平台上可以看到一些 kit 和鴻蒙有關的有裝置虛拟化、HiCar、HiLink、碰一碰等。

這些 kit 是可以讓裝置在不上鴻蒙的情況下,實作全場景,分布式。他們做的類似做一個中間層,App 和裝置端分别接入這些 kit 的 sdk。

那麼和直接用鴻蒙 OS 有什麼差別呢?開發會上官方給出了答案,不上鴻蒙也是可以實作的,不過鴻蒙 OS 的性能會更好一點。

聊一下 kit

在聊開發之前,我想聊一下華為提供一些有意思的 kit。

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

我比較感興趣的是裝置虛拟化能力和碰一碰。

裝置虛拟化能力(DeviceVirtualization Engine),是通過虛拟化技術将相關裝置或器件打造成手機器件或能力的延伸。

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

它可以将家中的電視、攝像頭和音箱虛拟為手機的螢幕、Camera 和 Mic/Speaker,将穿戴裝置作為手機的虛拟 Sensor,實作手機為中心的全場景體驗。

此處又應該有疑問,這個裝置虛拟化和我們平時用的投屏,藍牙音箱有什麼差別?

  • 靈活性,投屏,藍牙音箱,藍牙話筒是實作單一功能裝置。使用者可以根據需要選擇所需的裝置。
  • 應用級的,舉個例子,可能開會需要,在會議 App 才需要話筒音箱。來電了依然是用手機上的話筒聽筒。
  • 可擴充性,,除了常見的多媒體。他這個還支援外接傳感器,馬達,消息通知等。

碰一碰能力(OneHop Engine)是通過 NFC 來解決 App 跨裝置接續難、裝置配網難、傳輸難的問題的一個方案。

他們定義了一些常見的場景下的功能方向以及兩種內建方案:

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!
終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

例如,美的電器接入碰一碰可以做到免安裝配網。這點十分友善,特别是家有老人。

之前的配網流程起碼分成 3 步,安裝 App,掃碼,配置。而這套方案就隻要 3 秒。

應用開發

鴻蒙 OS 目前開放了應用開發和裝置開發。應用開發是我們的重頭戲,可以為搭載鴻蒙的智慧屏,手表,車機開發應用。

通過華為提供的 DevEco IDE 建立應用開發項目,具體開發步驟有比較多的教程就不細說了。

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

開發可以使用 Java 和 JS 語言。Java 開發的話,跟 Android 開發差不多。

這裡注意的是通過 JS 開發的話,但是通過 Htm 并非 html 來寫 UI。在文法上類似 vue。

JS 引擎是 JerryScript,能夠在記憶體少于 64KB 的裝置上執行 ECMAScript 5.1 源代碼。

那實際上下面要提到的裝置開發邏輯是也可以部分用 JS 實作的。不過官方文檔比較少,也沒有 demo 提供。但個 js runtime 是可以作為元件一起編譯燒錄的。

應用開發中,我比較感興趣的是跨裝置調用,下面這個例子是從智慧屏 App 上調用其他裝置頁面的。

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

這裡可以看到優點十分明顯,在這裡我們開發無需關心通信,以及傳輸安全問題。

在智慧屏上這麼寫,在手表上也是這麼寫。也就是他們說的一次開發多端部署,提供成熟方案,不用放更多精力在安全機制,組網連接配接和基礎通信上。聚焦業務,快速完成原型開發。

但也有一些限制與限制:

  • 支援主裝置側遠端啟動從裝置側 FA,不支援從裝置遠端啟動主裝置 FA。
  • 需要同一區域網路内。
  • 需要認證,目前隻支援擁有共同公鑰資訊的主從裝置間 FA(即主從裝置的 FA 使用相同華為證書)的拉起。
  • 工具鍊還需完善,如果選擇智能手表和智慧屏這兩個平台進行 App 的開發,目前華為還沒有開放基于 X86 的本地模拟器。是以,需要将編譯後安裝到遠端的 ARM 處理器以運作代碼,在本機上隻能預覽運作結果,而無法在本機上運作和調試代碼。開發效率相對慢一點,相信華為後面應該會補齊。

裝置開發

針對裝置開發者,OpenHarmony 采用了元件化的設計方案,可以根據裝置的資源能力和業務特征進行靈活裁剪,滿足不同形态的終端裝置對于作業系統的要求。

可運作在百 K 級别的資源受限裝置和穿戴類裝置,也可運作在百 M 級别的智能家用攝像頭/行車記錄儀等相對資源豐富的裝置。

我先講一下裝置開發的限制,目前開源的僅支援 128k~128M 裝置。而電視的運作記憶體一般在 2G 以上,普遍 3~4G。那實際上可以滿足除了電視,手表 wear,手機的大部分裝置。

開發流程是源碼擷取/元件管理→編碼實作邏輯→編譯→燒錄,按官網教程走一遍就能在開發闆闆上跑起來了。

前面說到的一些 kit , 裝置虛拟化和碰一碰也是可以用在裝置開發上的。不過裝置虛拟化,DVKit SDK 預計 2020 年 12 月底才提供。

還有碰一碰,以下是官方提供的一個列印機通過碰一碰實作檔案傳輸的例子:

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!

接下來聊一下華為的鴻蒙釋出計劃:明年中釋出 4G 以下,4G 以下應該對應車機和 wear。

年底釋出 4G 以上,這個應該是對應手機。手機的話大家都認為的意義不是很大,也不太可能成為主流,我也是這麼認為。

我個人認為鴻蒙的發力點應該是在電視,穿戴,車機上,以及提供極緻的生态體驗!

C/C++應用于Windows作業系統,驅動、更新檔,圖像處理、音視訊處理,工業控制軟體、嵌入式(手機、智能機)等領域,C++ 已經成為了最受開發人員歡迎的語言之一,鞏固了全球的系統和服務。

如果你想提升你的程式設計能力,以便更好從事程式設計類工作的話!

分享(源碼、項目實戰視訊、項目筆記,基礎入門教程)歡迎轉行和學習程式設計的夥伴,利用更多的資料學習成長比自己琢磨更快哦! 點選進入學習基地

終于有人把鴻蒙OS講明白了,大佬講解!快收藏!