鸿蒙OS真的是PPT吗?
?假期余額不足
?
?
PPT調研——鴻蒙
?
最近發了一些有關鴻蒙OS的一些教程的文章,收到了不少網友的質疑——華為的鴻蒙是不是PPT系統?
到目前為止,網上對于鴻蒙OS系統的態度還是表示不是很樂觀。
就拿“開發者大會”來說,一般的開發者大會都是比較直接:來我官網,開發文檔在這,SDK在那里下載,開發技術棧是這個,之后再拉幾個adoble、unreal的人站在臺上說我們的系統支持xx生產力工具、xx平臺等等。
而在鴻蒙OS開發者大會中,人們最后感覺什么都沒有看明白,這是個啥?開發文檔上哪呢?SDK在哪?用什么語言開發?等等
將客戶端、服務端、OS領域能講到的一大堆專屬詞匯重新定義,之后都放到PPT中,之后媒體一看,哇這個真叼!哇,這個干貨巨多!.......而最終到了開發者這里卻是一臉懵逼。
?
網友留言精選
有一位網友這樣說:
怎么說呢,目前它自己的東西啥都沒看到,Android的影子到處都是,甚至字體都是Android的。
況且就不說鴨子理論了:一個東西長得像Android,用起來像Android,跑的APP也是Android的,那它就是Android。
就退一步說,你真自己自主研發了一個系統,一行代碼沒看別人的,結果濃濃的既視感,那也是丟人現眼的。去看看隔壁米天堂的《還原神作》為什么被罵,心里也該有點13數了。
這是丟人現眼啊,就是真把源碼放出來,完全和Android不一樣也是丟人現眼啊
你家孩子長得跟隔壁老王那么像,居然不覺得丟人還理直氣壯,還要犟嘴。
鏈接:https://www.zhihu.com/question/339734329/answer/783315034
?
不過鴻蒙和Android還是有一些區別的!
?
區別
?
01
鴻蒙OS不基于linux內核
?
鴻蒙和Android相比,根本的區別在于它的核心不包括linux內核。華為為其未來的操作系統開發了全新的微內核。微內核比單片內核小,因為它只包含運行操作系統所需要的最少量代碼。華為的微內核大約有linux內核代碼量的千分之一,因為它只包括線程線程調度和IPC。所有其他服務(例如設備驅動、文件系統等)都會在用戶空間運行。
這樣一來,IPC成為操作系統整體性能的一個重要因素。
華為成其微內核提供的IPC比Fuchsia OS快5倍,比QNX微內核快三倍。
02
系統分層
Android是基于Linux的自由及開放源代碼的操作系統,主要用于移動設備,如智能手機和平板,由Google公司和開放手機聯盟領導及開發。
?
我們可以看出Android系統分為四層,從高到低分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核。
01
應用程序層
?
該層主要提供了一些核心應用程序包,用來存放應用程序、主界面、聯系人、電話、瀏覽器、日歷等
?
02
應用程序框架層
?
用來支持引用層中程序的運行,包括Activity Manager活動管理器、Window Manager窗口管理器、Content Provider內容提供者、View System視圖系統、Notification Manager通知管理、Package Manager包管理、Telephony Manager電話管理、Resource Manager資源管理、Location Manager位置管理器、XMPP Services服務等一共十個部分。
?
03
系統運行庫
?
包含了Libraries系統庫和Android Runtime安卓運行時環境
Libraries系統庫
系統庫包括九個子系統,分別是Surface Manager圖層管理、Media Manager媒體管理、SQLite小型數據庫、OpenGLESate開放圖形庫用來支持3D效果、FreeType位圖和矢量、WebKit瀏覽器內核、SGL 2D圖形引擎庫、SSL為數據通信提供支持、libc C語言的函數庫
Android?Runtime安卓運行時環境
core Labraries安卓開發核心庫、DaLvik Virtual Machine Dalvik虛擬機。
前者既兼容了大多數Java語言所需要調用的功能函數,又包括了Android的核心庫,比如android.os、android.net、android.media等等。后者是一種基于寄存器的java虛擬機,Dalvik虛擬機主要是完成對生命周期的管理、堆棧的管理、線程的管理、安全和異常的管理以及垃圾回收等重要功能。--SQLite是遵守ACID的關系數據庫管理系統,它包含在一個相對小的C程序庫中;OpenGL-開放圖形庫(英語:Open Graphics Library,縮寫為 OpenGL)是個定義了一個跨編程語言、跨平臺的應用程序接口(API)的規范,它用于生成二維、三維圖像。
04
Linux內核
提供各種驅動程序 Display Driver?顯示驅動、Camra Driver?相機驅動、Bluetooth Driver?藍牙驅動、Flash Memory?Driver?內存驅動、Binder?(pc)Driver?進程驅動、USB Driver、Audio Driver?音頻驅動、Power?Managemnet?電源管理、WIFI?Driver?無線驅動、Keypad Driver?鍵盤驅動
?
接下來我們看看鴻蒙OS的系統架構:
?
?
鴻蒙OS仍然是四層:應用層、程序框架層、基礎服務層、內核層。
01
應用層
?
應用層包括系統應用和第三方非系統應用。HarmonyOS的應用由一個或者多個FA(Freature Ability)或者PA(Particle Ability)組成。其中,FA有UI界面,提供用戶交互能力;而PA無UI界面,提供后臺運行任務的能力以及統一數據訪問抽象。基于FA/PA開發的應用,能夠實現特定的業務能力,支持跨設備調度與分發,為用戶提供一致、高效的應用體驗。
?
02
框架層
?
框架層為HarmonyOS的應用程序提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,以及各種軟硬件服務對外開放的多語言框架API;同時為采用HarmonyOS的設備提供了C/C++/JS等多語言的框架API,不同設備支持的API與系統的組件化裁剪程度相關。
?
03
系統服務層
?
系統服務層是HarmonyOS的核心能力集合,通過框架層對應用程序提供服務,該層包含了以下幾個部分:
?
-
系統基本能力子系統集
-
基礎軟件服務子系統集
-
增強軟件服務子系統集
-
硬件服務子系統集
?
04
內核層
?
-
內核子系統
?
HarmonyOS采用多內核設計,支持針對不同資源受限設備選用適合的OS內核。內核抽象層通過屏蔽多內核差異,對上層提供基礎的內核能力,包括進程/線程管理、內存管理、文件系統、網絡管理和外設管理等。
?
-
驅動子系統
?
????????驅動框架(HDF)是鴻蒙硬件生態開放的基礎,提供統一的外設訪問能力和驅動開發、管理框架。
?
總結
確實可以看出鴻蒙的設計思路上還有許多都是Android的影子。
只有站在巨人的肩膀上我們才能看的更遠,Android作為現在成熟的操作系統,經歷了多年的迭代和優化,在安全性、易用性以及生態上已經非常優秀了。鴻蒙作為一個后期之后,或者要成為市場中的新系統,必須要取其精華,去其糟粕才能給用戶帶來更好的體驗。
所以說,操作系統這件事是要站在巨人的肩膀之上才能不斷成長甚至超越。做操作系統其實并不是很難,難的是上面沒有程序開發人員支持你,下面沒有硬件廠商的支持你,最后還是一個實驗室里的玩具。
我個人感覺華為向操作系統進軍是對的,專有的操作系統研發難度小于通用操作系統,假如將來華為的系統成功走進了手機市場,估計會走蘋果一樣的路,只支持自己的硬件,而應用層面一定會和Android兼容。不過當初微軟也曾嘗試在自己的Windows Phone10中兼容Android,最終還是失敗了。
假如幾年之后鴻蒙成功進入手機市場,估計到時候是另一場博弈了吧——Android不允許開發者支持鴻蒙OS!
?
好多資源都在這里!
總結
以上是生活随笔為你收集整理的鸿蒙OS真的是PPT吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网大牛们的电脑桌面
- 下一篇: 西北大学软工专硕专业课面试可能会问到的问