最近鴻蒙os真的是在各大社交平臺占足了風頭,身邊好多小伙伴在討論這個弦撩,也許是因為它是中國擺脫其他國家手機系統(tǒng)制裁的第一步
相信好多人都好奇鴻蒙是什么裳仆?
很多人是不是都在發(fā)問,一夜之間就火了的鴻蒙有何獨特孤钦?
有沒有小伙伴去官網(wǎng)看了后還是一臉懵逼的0.0
有過基礎的都知道歧斟,操作系統(tǒng)之間纯丸,不是為了兼容而兼容,而是為了生態(tài)而兼容静袖,鴻蒙兼容其他國產(chǎn)系統(tǒng)不難觉鼻,開發(fā)操作系統(tǒng)在技術上不是難事,之前阿里也出過操作系統(tǒng)队橙,有小伙伴知道嗎坠陈,基于Linux開發(fā)優(yōu)化,鴻蒙與安卓捐康、其他國產(chǎn)操作系統(tǒng)可謂同根同源仇矾,軟件、硬件解总、應用要兼容贮匕,對于華為都不是難事,熟悉我的都知道我是做安卓的花枫,那做安卓的有必要學鴻蒙嗎刻盐,學了鴻蒙的還用學安卓嗎?
在我看來劳翰,HarmonyOS是一款可以用Java或JS開發(fā)的國產(chǎn)手機操作系統(tǒng)敦锌。也就意味著我們可以更快的入門鴻蒙開發(fā)。
我查閱資料后佳簸,整理了一下乙墙,如下文所示
華為自有開源操作系統(tǒng)鴻蒙OS,鴻蒙OS憑借多終端開發(fā)IDE生均,多語言統(tǒng)一編譯听想,分布式架構Kit提供屏幕布局控件以及交互的自動適配,支持控件拖拽疯特,面向預覽的可視化編程哗魂,從而使開發(fā)者可以基于同一工程高效構建多端自動運行App,實現(xiàn)真正的一次開發(fā)漓雅,多端部署录别,在跨設備之間實現(xiàn)共享生態(tài)
根據(jù)官網(wǎng)的介紹,分為六個方面邻吞,相信可以大家對這個系統(tǒng)有更多的認識
系統(tǒng)定位
HarmonyOS是一款“面向未來”组题、面向全場景(移動辦公、運動健康抱冷、社交通信崔列、媒體娛樂等)的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力赵讯、適配多種終端形態(tài)的分布式理念盈咳,能夠支持手機、平板边翼、智能穿戴鱼响、智慧屏、車機等多種終端設備组底。
對消費者而言丈积,HarmonyOS能夠將生活場景中的各類終端進行能力整合,可以實現(xiàn)不同的終端設備之間的快速連接债鸡、能力互助江滨、資源共享,匹配合適的設備厌均、提供流暢的全場景體驗唬滑。
對應用開發(fā)者而言,HarmonyOS采用了多種分布式技術莫秆,使得應用程序的開發(fā)實現(xiàn)與不同終端設備的形態(tài)差異無關间雀。這能夠讓開發(fā)者聚焦上層業(yè)務邏輯悔详,更加便捷镊屎、高效地開發(fā)應用。
對設備開發(fā)者而言茄螃,HarmonyOS采用了組件化的設計方案缝驳,可以根據(jù)設備的資源能力和業(yè)務特征進行靈活裁剪,滿足不同形態(tài)的終端設備對于操作系統(tǒng)的要求归苍。
HarmonyOS提供了支持多種開發(fā)語言的API用狱,供開發(fā)者進行應用開發(fā)。支持的開發(fā)語言包括Java拼弃、XML(Extensible Markup Language)夏伊、C/C++ 、 JS(JavaScript)吻氧、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)溺忧。
技術架構
(圖源自官網(wǎng))
HarmonyOS整體遵從分層設計,從下向上依次為:內(nèi)核層盯孙、系統(tǒng)服務層鲁森、框架層和應用層。系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 功能/模塊”逐級展開振惰,在多設備部署場景下歌溉,支持根據(jù)實際需求裁剪某些非必要的子系統(tǒng)或功能/模塊。HarmonyOS技術架構如下所示骑晶。
內(nèi)核層
內(nèi)核子系統(tǒng):HarmonyOS采用多內(nèi)核設計痛垛,支持針對不同資源受限設備選用適合的OS內(nèi)核草慧。內(nèi)核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內(nèi)核差異匙头,對上層提供基礎的內(nèi)核能力冠蒋,包括進程/線程管理、內(nèi)存管理乾胶、文件系統(tǒng)抖剿、網(wǎng)絡管理和外設管理等。
驅動子系統(tǒng):硬件驅動框架(HDF)是HarmonyOS硬件生態(tài)開放的基礎识窿,提供統(tǒng)一外設訪問能力和驅動開發(fā)斩郎、管理框架。
系統(tǒng)服務層
系統(tǒng)服務層是HarmonyOS的核心能力集合喻频,通過框架層對應用程序提供服務缩宜。該層包含以下幾個部分:
系統(tǒng)基本能力子系統(tǒng)集:為分布式應用在HarmonyOS多設備上的運行、調(diào)度甥温、遷移等操作提供了基礎能力锻煌,由分布式軟總線、分布式數(shù)據(jù)管理姻蚓、分布式任務調(diào)度宋梧、方舟多語言運行時、公共基礎庫狰挡、多模輸入捂龄、圖形、安全加叁、AI等子系統(tǒng)組成倦沧。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎的系統(tǒng)類庫它匕,也為使用方舟編譯器靜態(tài)化的Java程序(即應用程序或框架層中使用Java語言開發(fā)的部分)提供運行時展融。
基礎軟件服務子系統(tǒng)集:為HarmonyOS提供公共的、通用的軟件服務豫柬,由事件通知告希、電話、多媒體轮傍、DFX(Design For X) 暂雹、MSDP&DV等子系統(tǒng)組成。
增強軟件服務子系統(tǒng)集:為HarmonyOS提供針對不同設備的创夜、差異化的能力增強型軟件服務杭跪,由智慧屏專有業(yè)務、穿戴專有業(yè)務、IoT專有業(yè)務等子系統(tǒng)組成涧尿。
硬件服務子系統(tǒng)集:為HarmonyOS提供硬件服務系奉,由位置服務、生物特征識別姑廉、穿戴專有硬件服務缺亮、IoT專有硬件服務等子系統(tǒng)組成。
根據(jù)不同設備形態(tài)的部署環(huán)境桥言,基礎軟件服務子系統(tǒng)集萌踱、增強軟件服務子系統(tǒng)集、硬件服務子系統(tǒng)集內(nèi)部可以按子系統(tǒng)粒度裁剪号阿,每個子系統(tǒng)內(nèi)部又可以按功能粒度裁剪并鸵。
框架層
框架層為HarmonyOS應用開發(fā)提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,兩種UI框架(包括適用于Java語言的Java UI框架扔涧、適用于JS語言的JS UI框架)园担,以及各種軟硬件服務對外開放的多語言框架API。根據(jù)系統(tǒng)的組件化裁剪程度枯夜,HarmonyOS設備支持的API也會有所不同弯汰。
應用層
應用層包括系統(tǒng)應用和第三方非系統(tǒng)應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成湖雹。其中咏闪,F(xiàn)A有UI界面,提供與用戶交互的能力劝枣;而PA無UI界面汤踏,提供后臺運行任務的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象织鲸。FA在進行用戶交互時所需的后臺數(shù)據(jù)訪問也需要由對應的PA提供支撐舔腾。基于FA/PA開發(fā)的應用搂擦,能夠實現(xiàn)特定的業(yè)務功能稳诚,支持跨設備調(diào)度與分發(fā),為用戶提供一致瀑踢、高效的應用體驗扳还。