值得一谈的鸿蒙2.0,赶紧撸一下hello world
? ? ? 一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統(tǒng) ?,F(xiàn)已開源,名為OpenHarmony。
2019年8月9日,華為在HDC開發(fā)者大會上正式發(fā)布鴻蒙系統(tǒng)。
2020年9月10日,華為在HDC開發(fā)者大會上如約發(fā)布鴻蒙 2.0,并面向應用開發(fā)者發(fā)布Beta版本。明年鴻蒙將全面支持華為手機。
值得一提的是,鴻蒙HarmonyOS正式開源,今年年底首先對國內開發(fā)者發(fā)布針對智能手機的HarmonyOS beta版本。
余承東強調,全球第三大移動應用生態(tài)正在破繭而出?!溉A為要構筑開放生態(tài),將核心技術、軟硬件能力全面開放給開發(fā)者和生態(tài)伙伴?!?/p>
?據(jù)介紹,基于鴻蒙操作系統(tǒng)的HiLink 智能硬件生態(tài),目前已經(jīng)有 800 家合作伙伴,其中 HiCar 已合作 150 余款車,2021年計劃預裝超過 500 萬臺。HMS Core 已經(jīng)發(fā)展到 5.0 版本,超過 9.6 萬個應用集成 HMS Core,活躍用戶 4.9 億。
華為承受打壓眾所周知,但在大會上,余承東表示,即使遭受三輪打擊,華為依然實現(xiàn)增長。今年上半年,其消費者業(yè)務銷售收入 2558 億元,消費者業(yè)務手機全球發(fā)貨量達到 1.05 億。
華為承受打壓眾所周知,但在大會上,余承東表示,即使遭受三輪打擊,華為依然實現(xiàn)增長。今年上半年,其消費者業(yè)務銷售收入 2558 億元,消費者業(yè)務手機全球發(fā)貨量達到 1.05 億。
?
其實說了這么多,也只是一個噱頭,未來的路還很長,我經(jīng)常在blink里面看到有人投票說,華為鴻蒙操作系統(tǒng)將取代安卓操作系統(tǒng),我先否定一下。發(fā)展好了最多也只是三足鼎立的局面,不可能取代,至于為什么?大家評論區(qū)吃瓜吧。
源碼托管在國內知名開源平臺碼云上:https://gitee.com/openharmony
作為程序員,我也下載了源碼,研究了兩個晚上,順帶寫了一個 hello world 程序。
官方介紹說是“輕量級 JS 核心開發(fā)框架”。
當我看完源碼后發(fā)現(xiàn)它確實輕。其核心代碼只有 5 個 js 文件。
·??runtime-core\src\core\index.js
·??runtime-core\src\observer\observer.js
·??runtime-core\src\observer\subject.js
·??runtime-core\src\observer\utils.js
·??runtime-core\src\profiler\index.js
從名字可以看出來,這些代碼實現(xiàn)了一個觀察者模式。它實現(xiàn)了一個非常輕量級的 MVVM 模式(后端理解為MVC就好)。通過使用和 vue2 相似的屬性劫持技術實現(xiàn)了響應式系統(tǒng)。
當我們開發(fā)的時候,通過Toolkit 將開發(fā)者編寫的 HML、CSS 和 JS 文件編譯打包成 JS Bundle,然后再將 JS Bundle 解析運行成C++ native UI 的 View 組件進行渲染。
“通過支持三方開發(fā)者使用聲明式的API 進行應用開發(fā),以數(shù)據(jù)驅動視圖變化,避免了大量的視圖操作,大大降低了應用開發(fā)難度,提升開發(fā)者開發(fā)體驗”。基本上就是一個小程序式的開發(fā)體驗。
jsruntime選擇了 JerryScript是用于物聯(lián)網(wǎng)的超輕量 JavaScript 引擎。它能夠在內存少于 64 KB 的設備上執(zhí)行 ECMAScript 5.1 源代碼。這也是為什么在文檔中說鴻蒙 JS 框架支持 ECMAScript 5.1 的原因。
?SDK中的那些包僅僅是做 loader用的,大概是為了在 webpack 打包時解析 htm 組件用的,將 html 的 template 編譯為 js 代碼。
?
?
華為宣傳的鴻蒙四大特性:
“分布式架構首次用于終端OS,實現(xiàn)跨終端無縫協(xié)同體驗;確定時延引擎和高性能IPC,技術實現(xiàn)系統(tǒng)天生流暢;基于微內核架構重塑終端設備可信安全;通過統(tǒng)一IDE支撐一次開發(fā),多端部署,實現(xiàn)跨終端生態(tài)共享”
“分布式架構、跨終端無縫協(xié)同體驗”是說,華為搞了一個很妙的底層OS(“分布式OS架構”和“分布式軟總線技術”,公共通信平臺、分布式數(shù)據(jù)管理、分布式能力調度和虛擬外設四大能力),把不同終端的特性都歸納好了,能容納在統(tǒng)一的架構里。這樣對開發(fā)者和消費者來說,不同的終端產品能在一個平臺里統(tǒng)一開發(fā)使用了。為什么能這么做,是因為鴻蒙OS重新設計了整個架構,安卓和iOS辦不到。這是從系統(tǒng)架構層面說事。
“確定時延引擎和高性能IPC技術實現(xiàn)系統(tǒng)天生流暢”是說,鴻蒙搞了很妙的進程調度算法,進程通信機制天然就好。進程就是不同程序的任務,一個手機上面幾個APP同時跑,需要調度算法來分配系統(tǒng)時間輪換著運行?!按_定時延”就是調度算法能保證,進程不會因CPU被其它進程占據(jù)而卡死,總能在規(guī)定時間內輪到自己順利執(zhí)行。因為架構是新的,所以應用響應時間能降低四分之一,安卓和iOS因為架構的原因辦不到。IPC就是進程間通信(Inter Process Communication),進程之間非常需要通信傳遞消息和數(shù)據(jù)來協(xié)同運作。因為微內核架構好,鴻蒙的IPC效率能提升5倍,安卓和iOS受系統(tǒng)架構限制辦不到。這是對關心性能的用戶宣傳。
“基于微內核架構重塑終端設備可信安全”是說,鴻蒙系統(tǒng)更安全,因為內核代碼少,出現(xiàn)漏洞的機會也就極少,不象安卓和iOS那樣代碼一堆容易找漏洞。蘋果懸賞找到一個漏洞100萬美元,是讓人來攻擊。鴻蒙對整個系統(tǒng),設計了一套安全機制,只要按照這套機制做,安全性能就能極大提升。這套安全機制不是基于攻擊測試的,而是基于數(shù)學模型算法的,能形式化證明理論上就是安全的,比傳統(tǒng)安全驗證方式要高一個檔次。這對關心系統(tǒng)安全的用戶很有吸引力。
“通過統(tǒng)一IDE支撐一次開發(fā),多端部署,實現(xiàn)跨終端生態(tài)共享”,是呼應第一個特性。第一個特性是說,鴻蒙從系統(tǒng)架構上,讓跨終端統(tǒng)一開發(fā)成為可能。統(tǒng)一IDE是說,華為開發(fā)工具也準備好了,這個以方舟編譯器為核心的工具包非常牛,可視化編程,以后還幾種語言混著開發(fā)都能統(tǒng)一編譯,直接出高效機器碼??傊馑季褪情_發(fā)方便高效了,比現(xiàn)在安卓和iOS的開發(fā)工具效率更高。這是對程序員開發(fā)者喊話。
從這些鴻蒙的“特性”可以看出,鴻蒙真的是面向未來的下一代操作系統(tǒng),有非常多的優(yōu)勢。鴻蒙不是安卓或者iOS在手機上的替代品,而是跨平臺的新系統(tǒng)。起碼在立意上,鴻蒙真不是對標安卓或者iOS,而是對標谷歌的Fuchsia(也是微內核的)。通過鴻蒙的四大特性,也可以了解為什么谷歌要搞Fuchsia,因為安卓架構的技術潛力有限,要搞下一代操作系統(tǒng)只能重新搞全新生態(tài)系統(tǒng)。
?
?
最后,收集幾個大家可能會有疑問的槽點,歡迎在評論區(qū)留言!
1.線下華為各個型號普遍漲價了,斷供會影響?
2.華為鴻蒙系統(tǒng)和安卓操作系統(tǒng),你更看好那個?
3.未來三年會不會有超過一半的國內廠商用上HMS?
4.大家覺得鴻蒙系統(tǒng)的未來前景如何?
5.作為程序員,有興趣用華為的開發(fā)平臺工具DecEco Studio體驗寫一個“Hello world”?
?
總結
以上是生活随笔為你收集整理的值得一谈的鸿蒙2.0,赶紧撸一下hello world的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 值得一谈的鸿蒙2.0,程序员们拿起你们手
- 下一篇: 解决谷歌浏览器F12打不开调试页面的问题