“
本文面向的是開發(fā)人員,主要想通過科普讓大家了解一下鴻蒙開發(fā)。接下來,我想給大家科普一下這個這么火的鴻蒙系統(tǒng)。
到底什么是鴻蒙 OS
在官網(wǎng)上看到鴻蒙 OS 的簡介是,分布式能力造就新硬件、新交互、新服務,打開煥然一新的全場景世界。以及發(fā)布會提及最多是他的萬物互連,全場景,分布式,微內(nèi)核,軟總線。
換句話說,鴻蒙OS 是為全場景,分布式設計的,微內(nèi)核,軟總線是他重要的實現(xiàn)。
對于全場景,分布式理解,我們可以想一下華為自家的多屏協(xié)作,以及電腦,平板和手機可以很方便實現(xiàn)在電腦上操作平板,手機。
另外現(xiàn)在雙 11 買到的一些新上市家電,上面可以看到鴻蒙的小 Logo,這些帶上鴻蒙的家電,可以通過碰一碰無需安裝 App 實現(xiàn)配置組網(wǎng),也十分方便。
在華為開發(fā)者大會上,華為也展示了一些精彩的案例。大家有興趣回頭翻一翻。這些都是通過全場景,分布式特性做到的新交互和體驗,十分讓人期待。
到此應該有一個疑問,如果不用鴻蒙 OS,能不能實現(xiàn)以上交互?多屏協(xié)同,多設備協(xié)同?
答案是可以的,官方有提到,他們把鴻蒙 OS 一些能力,例如分布式提出來放到 EMUI 上。
我們在華為的開發(fā)平臺上可以看到一些 kit 和鴻蒙有關的有設備虛擬化、HiCar、HiLink、碰一碰等。
這些 kit 是可以讓設備在不上鴻蒙的情況下,實現(xiàn)全場景,分布式。他們做的類似做一個中間層,App 和設備端分別接入這些 kit 的 sdk。
那么和直接用鴻蒙 OS 有什么區(qū)別呢?開發(fā)會上官方給出了答案,不上鴻蒙也是可以實現(xiàn)的,不過鴻蒙 OS 的性能會更好一點。
聊一下 kit
在聊開發(fā)之前,我想聊一下華為提供一些有意思的 kit。
我比較感興趣的是設備虛擬化能力和碰一碰。
設備虛擬化能力(DeviceVirtualization Engine),是通過虛擬化技術將相關設備或器件打造成手機器件或能力的延伸。
它可以將家中的電視、攝像頭和音箱虛擬為手機的屏幕、Camera 和 Mic/Speaker,將穿戴設備作為手機的虛擬 Sensor,實現(xiàn)手機為中心的全場景體驗。
此處又應該有疑問,這個設備虛擬化和我們平時用的投屏,藍牙音箱有什么區(qū)別?
-
靈活性,投屏,藍牙音箱,藍牙話筒是實現(xiàn)單一功能設備。用戶可以根據(jù)需要選擇所需的設備。
-
應用級的,舉個例子,可能開會需要,在會議 App 才需要話筒音箱。來電了依然是用手機上的話筒聽筒。
-
可擴展性,,除了常見的多媒體。他這個還支持外接傳感器,馬達,消息通知等。
碰一碰能力(OneHop Engine)是通過 NFC 來解決 App 跨設備接續(xù)難、設備配網(wǎng)難、傳輸難的問題的一個方案。
他們定義了一些常見的場景下的功能方向以及兩種集成方案:
例如,美的電器接入碰一碰可以做到免安裝配網(wǎng)。這點十分方便,特別是家有老人。
之前的配網(wǎng)流程起碼分成 3 步,安裝 App,掃碼,配置。而這套方案就只要 3 秒。
應用開發(fā)
鴻蒙 OS 目前開放了應用開發(fā)和設備開發(fā)。應用開發(fā)是我們的重頭戲,可以為搭載鴻蒙的智慧屏,手表,車機開發(fā)應用。
通過華為提供的 DevEco IDE 建立應用開發(fā)項目,具體開發(fā)步驟有比較多的教程就不細說了。
開發(fā)可以使用 Java 和 JS 語言。Java 開發(fā)的話,跟 Android 開發(fā)差不多。
這里注意的是通過 JS 開發(fā)的話,但是通過 Htm 并非 html 來寫 UI。在語法上類似 vue。
JS 引擎是 JerryScript,能夠在內(nèi)存少于 64KB 的設備上執(zhí)行 ECMAScript 5.1 源代碼。
那實際上下面要提到的設備開發(fā)邏輯是也可以部分用 JS 實現(xiàn)的。不過官方文檔比較少,也沒有 demo 提供。但個 js runtime 是可以作為組件一起編譯燒錄的。
應用開發(fā)中,我比較感興趣的是跨設備調(diào)用,下面這個例子是從智慧屏 App 上調(diào)用其他設備頁面的。
這里可以看到優(yōu)點十分明顯,在這里我們開發(fā)無需關心通信,以及傳輸安全問題。
在智慧屏上這么寫,在手表上也是這么寫。也就是他們說的一次開發(fā)多端部署,提供成熟方案,不用放更多精力在安全機制,組網(wǎng)連接和基礎通信上。聚焦業(yè)務,快速完成原型開發(fā)。
但也有一些約束與限制:
-
支持主設備側遠程啟動從設備側 FA,不支持從設備遠程啟動主設備 FA。
-
需要同一局域網(wǎng)內(nèi)。
-
需要認證,當前只支持擁有共同公鑰信息的主從設備間 FA(即主從設備的 FA 使用相同華為證書)的拉起。
-
工具鏈還需完善,如果選擇智能手表和智慧屏這兩個平臺進行 App 的開發(fā),目前華為還沒有開放基于 X86 的本地模擬器。
因此,需要將編譯后安裝到遠程的 ARM 處理器以運行代碼,在本機上只能預覽運行結果,而無法在本機上運行和調(diào)試代碼。開發(fā)效率相對慢一點,相信華為后面應該會補齊。
設備開發(fā)
針對設備開發(fā)者,OpenHarmony 采用了組件化的設計方案,可以根據(jù)設備的資源能力和業(yè)務特征進行靈活裁剪,滿足不同形態(tài)的終端設備對于操作系統(tǒng)的要求。
可運行在百 K 級別的資源受限設備和穿戴類設備,也可運行在百 M 級別的智能家用攝像頭/行車記錄儀等相對資源豐富的設備。
我先講一下設備開發(fā)的限制,目前開源的僅支持 128k~128M 設備。而電視的運行內(nèi)存一般在 2G 以上,普遍 3~4G。那實際上可以滿足除了電視,手表 wear,手機的大部分設備。
開發(fā)流程是源碼獲取/組件管理→編碼實現(xiàn)邏輯→編譯→燒錄,按官網(wǎng)教程走一遍就能在開發(fā)板板上跑起來了。
前面說到的一些 kit , 設備虛擬化和碰一碰也是可以用在設備開發(fā)上的。不過設備虛擬化,DVKit SDK 預計 2020 年 12 月底才提供。
還有碰一碰,以下是官方提供的一個打印機通過碰一碰實現(xiàn)文件傳輸?shù)睦樱?br>
接下來聊一下華為的鴻蒙發(fā)布計劃:明年中發(fā)布 4G 以下,4G 以下應該對應車機和 wear。
年底發(fā)布 4G 以上,這個應該是對應手機。手機的話大家都認為的意義不是很大,也不太可能成為主流,我也是這么認為。
我個人認為鴻蒙的發(fā)力點應該是在電視,穿戴,車機上,以及提供極致的生態(tài)體驗!!
-END-
來源 | GitHub科技
| 整理文章為傳播相關技術,版權歸原作者所有 |
| 如有侵權,請聯(lián)系刪除 |
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!