到底什么是鴻蒙 OS
在官網(wǎng)上看到鴻蒙 OS 的簡介是,分布式能力造就新硬件、新交互、新服務(wù),打開煥然一新的全場景世界。以及發(fā)布會提及最多是他的萬物互連,全場景,分布式,微內(nèi)核,軟總線。
換句話說,鴻蒙OS 是為全場景,分布式設(shè)計的,微內(nèi)核,軟總線是他重要的實現(xiàn)。
對于全場景,分布式理解,我們可以想一下華為自家的多屏協(xié)作,以及電腦,平板和手機可以很方便實現(xiàn)在電腦上操作平板,手機。
另外現(xiàn)在雙 11 買到的一些新上市家電,上面可以看到鴻蒙的小 Logo,這些帶上鴻蒙的家電,可以通過碰一碰無需安裝 App 實現(xiàn)配置組網(wǎng),也十分方便。
在華為開發(fā)者大會上,華為也展示了一些精彩的案例。大家有興趣回頭翻一翻。這些都是通過全場景,分布式特性做到的新交互和體驗,十分讓人期待。
到此應(yīng)該有一個疑問,如果不用鴻蒙 OS,能不能實現(xiàn)以上交互?多屏協(xié)同,多設(shè)備協(xié)同?
答案是可以的,官方有提到,他們把鴻蒙 OS 一些能力,例如分布式提出來放到 EMUI 上。
我們在華為的開發(fā)平臺上可以看到一些 kit 和鴻蒙有關(guān)的有設(shè)備虛擬化、HiCar、HiLink、碰一碰等。
這些 kit 是可以讓設(shè)備在不上鴻蒙的情況下,實現(xiàn)全場景,分布式。他們做的類似做一個中間層,App 和設(shè)備端分別接入這些 kit 的 sdk。
那么和直接用鴻蒙 OS 有什么區(qū)別呢?開發(fā)會上官方給出了答案,不上鴻蒙也是可以實現(xiàn)的,不過鴻蒙 OS 的性能會更好一點。
聊一下 kit
我比較感興趣的是設(shè)備虛擬化能力和碰一碰。
設(shè)備虛擬化能力(DeviceVirtualization Engine),是通過虛擬化技術(shù)將相關(guān)設(shè)備或器件打造成手機器件或能力的延伸。
它可以將家中的電視、攝像頭和音箱虛擬為手機的屏幕、Camera 和 Mic/Speaker,將穿戴設(shè)備作為手機的虛擬 Sensor,實現(xiàn)手機為中心的全場景體驗。
此處又應(yīng)該有疑問,這個設(shè)備虛擬化和我們平時用的投屏,藍牙音箱有什么區(qū)別?
靈活性,投屏,藍牙音箱,藍牙話筒是實現(xiàn)單一功能設(shè)備。用戶可以根據(jù)需要選擇所需的設(shè)備。
應(yīng)用級的,舉個例子,可能開會需要,在會議 App 才需要話筒音箱。來電了依然是用手機上的話筒聽筒。
可擴展性,,除了常見的多媒體。他這個還支持外接傳感器,馬達,消息通知等。
碰一碰能力(OneHop Engine)是通過 NFC 來解決 App 跨設(shè)備接續(xù)難、設(shè)備配網(wǎng)難、傳輸難的問題的一個方案。
他們定義了一些常見的場景下的功能方向以及兩種集成方案:

例如,美的電器接入碰一碰可以做到免安裝配網(wǎng)。這點十分方便,特別是家有老人。
之前的配網(wǎng)流程起碼分成 3 步,安裝 App,掃碼,配置。而這套方案就只要 3 秒。
支持小編
應(yīng)用開發(fā)
鴻蒙 OS 目前開放了應(yīng)用開發(fā)和設(shè)備開發(fā)。應(yīng)用開發(fā)是我們的重頭戲,可以為搭載鴻蒙的智慧屏,手表,車機開發(fā)應(yīng)用。

開發(fā)可以使用 Java 和 JS 語言。Java 開發(fā)的話,跟 Android 開發(fā)差不多。
這里注意的是通過 JS 開發(fā)的話,但是通過 Htm 并非 html 來寫 UI。在語法上類似 vue。
JS 引擎是 JerryScript,能夠在內(nèi)存少于 64KB 的設(shè)備上執(zhí)行 ECMAScript 5.1 源代碼。
那實際上下面要提到的設(shè)備開發(fā)邏輯是也可以部分用 JS 實現(xiàn)的。不過官方文檔比較少,也沒有 demo 提供。但個 js runtime 是可以作為組件一起編譯燒錄的。
應(yīng)用開發(fā)中,我比較感興趣的是跨設(shè)備調(diào)用,下面這個例子是從智慧屏 App 上調(diào)用其他設(shè)備頁面的。

這里可以看到優(yōu)點十分明顯,在這里我們開發(fā)無需關(guān)心通信,以及傳輸安全問題。
在智慧屏上這么寫,在手表上也是這么寫。也就是他們說的一次開發(fā)多端部署,提供成熟方案,不用放更多精力在安全機制,組網(wǎng)連接和基礎(chǔ)通信上。聚焦業(yè)務(wù),快速完成原型開發(fā)。
但也有一些約束與限制:
支持主設(shè)備側(cè)遠程啟動從設(shè)備側(cè) FA,不支持從設(shè)備遠程啟動主設(shè)備 FA。
需要同一局域網(wǎng)內(nèi)。
需要認證,當前只支持擁有共同公鑰信息的主從設(shè)備間 FA(即主從設(shè)備的 FA 使用相同華為證書)的拉起。
工具鏈還需完善,如果選擇智能手表和智慧屏這兩個平臺進行 App 的開發(fā),目前華為還沒有開放基于 X86 的本地模擬器。
因此,需要將編譯后安裝到遠程的 ARM 處理器以運行代碼,在本機上只能預(yù)覽運行結(jié)果,而無法在本機上運行和調(diào)試代碼。開發(fā)效率相對慢一點,相信華為后面應(yīng)該會補齊。
設(shè)備開發(fā)
針對設(shè)備開發(fā)者,OpenHarmony 采用了組件化的設(shè)計方案,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對于操作系統(tǒng)的要求。
可運行在百 K 級別的資源受限設(shè)備和穿戴類設(shè)備,也可運行在百 M 級別的智能家用攝像頭/行車記錄儀等相對資源豐富的設(shè)備。
我先講一下設(shè)備開發(fā)的限制,目前開源的僅支持 128k~128M 設(shè)備。而電視的運行內(nèi)存一般在 2G 以上,普遍 3~4G。那實際上可以滿足除了電視,手表 wear,手機的大部分設(shè)備。
開發(fā)流程是源碼獲取/組件管理→編碼實現(xiàn)邏輯→編譯→燒錄,按官網(wǎng)教程走一遍就能在開發(fā)板板上跑起來了。
前面說到的一些 kit , 設(shè)備虛擬化和碰一碰也是可以用在設(shè)備開發(fā)上的。不過設(shè)備虛擬化,DVKit SDK 預(yù)計 2020 年 12 月底才提供。
接下來聊一下華為的鴻蒙發(fā)布計劃:明年中發(fā)布 4G 以下,4G 以下應(yīng)該對應(yīng)車機和 wear。
年底發(fā)布 4G 以上,這個應(yīng)該是對應(yīng)手機。手機的話大家都認為的意義不是很大,也不太可能成為主流,我也是這么認為。
我個人認為鴻蒙的發(fā)力點應(yīng)該是在電視,穿戴,車機上,以及提供極致的生態(tài)體驗!!
來源:GitHub科技
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!