華為鴻蒙OS2.0系統(tǒng)定義
HarmonyOS是一款“面向未來(lái)”惧浴、面向全場(chǎng)景(移動(dòng)辦公存和、運(yùn)動(dòng)健康、社交通信衷旅、媒體娛樂等)的分布式操作系統(tǒng)捐腿。在傳統(tǒng)的單設(shè)備系統(tǒng)能力的基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力柿顶、適配多種終端形態(tài)的分布式理念茄袖,能夠支持多種終端設(shè)備。
鴻蒙1.0
從鴻蒙1.0到鴻蒙2.0:分布式能力
對(duì)消費(fèi)者而言嘁锯,HarmonyOS能夠?qū)⑸顖?chǎng)景中的各類終端進(jìn)行能力整合宪祥,可以實(shí)現(xiàn)不同的終端設(shè)備之間的快速連接聂薪、能力互助、資源共享蝗羊,匹配合適的設(shè)備藏澳、提供流暢的全場(chǎng)景體驗(yàn)。
對(duì)應(yīng)用開發(fā)者而言耀找,HarmonyOS采用了多種分布式技術(shù)翔悠,使得應(yīng)用程序的開發(fā)實(shí)現(xiàn)與不同終端設(shè)備的形態(tài)差異無(wú)關(guān)。這能夠讓開發(fā)者聚焦上層業(yè)務(wù)邏輯野芒,更加便捷蓄愁、高效地開發(fā)應(yīng)用。
對(duì)設(shè)備開發(fā)者而言狞悲,HarmonyOS采用了組件化的設(shè)計(jì)方案撮抓,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進(jìn)行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對(duì)于操作系統(tǒng)的要求效诅。
在這樣的特殊的歷史時(shí)期胀滚,鴻蒙邁出了第一步。我們未來(lái)的繁榮可期乱投,未來(lái)已來(lái)咽笼。
技術(shù)特性
硬件互助,資源共享
分布式軟總線是多種終端設(shè)備的統(tǒng)一基座戚炫,為設(shè)備之間的互聯(lián)互通提供了統(tǒng)一的分布式通信能力剑刑,能夠快速發(fā)現(xiàn)并連接設(shè)備,高效地分發(fā)任務(wù)和傳輸數(shù)據(jù)双肤。分布式軟總線示意圖見圖1施掏。
分布式設(shè)備虛擬化
分布式設(shè)備虛擬化平臺(tái)可以實(shí)現(xiàn)不同設(shè)備的資源融合、設(shè)備管理茅糜、數(shù)據(jù)處理七芭,多種設(shè)備共同形成一個(gè)超級(jí)虛擬終端。針對(duì)不同類型的任務(wù)蔑赘,為用戶匹配并選擇能力合適的執(zhí)行硬件狸驳,讓業(yè)務(wù)連續(xù)地在不同設(shè)備間流轉(zhuǎn),充分發(fā)揮不同設(shè)備的資源優(yōu)勢(shì)缩赛。分布式設(shè)備虛擬化示意圖見圖2耙箍。
分布式數(shù)據(jù)管理
分布式數(shù)據(jù)管理基于分布式軟總線的能力,實(shí)現(xiàn)應(yīng)用程序數(shù)據(jù)和用戶數(shù)據(jù)的分布式管理酥馍。用戶數(shù)據(jù)不再與單一物理設(shè)備綁定辩昆,業(yè)務(wù)邏輯與數(shù)據(jù)存儲(chǔ)分離,應(yīng)用跨設(shè)備運(yùn)行時(shí)數(shù)據(jù)無(wú)縫銜接旨袒,為打造一致汁针、流暢的用戶體驗(yàn)創(chuàng)造了基礎(chǔ)條件术辐。分布式數(shù)據(jù)管理示意圖見圖3。
分布式任務(wù)調(diào)度
分布式任務(wù)調(diào)度基于分布式軟總線扇丛、分布式數(shù)據(jù)管理术吗、分布式Profile等技術(shù)特性,構(gòu)建統(tǒng)一的分布式服務(wù)管理(發(fā)現(xiàn)帆精、同步较屿、注冊(cè)、調(diào)用)機(jī)制卓练,支持對(duì)跨設(shè)備的應(yīng)用進(jìn)行遠(yuǎn)程啟動(dòng)隘蝎、遠(yuǎn)程調(diào)用、遠(yuǎn)程連接以及遷移等操作襟企,能夠根據(jù)不同設(shè)備的能力嘱么、位置、業(yè)務(wù)運(yùn)行狀態(tài)顽悼、資源使用情況曼振,以及用戶的習(xí)慣和意圖,選擇合適的設(shè)備運(yùn)行分布式任務(wù)蔚龙。
圖4以應(yīng)用遷移為例冰评,簡(jiǎn)要地展示了分布式任務(wù)調(diào)度能力。
一次開發(fā)木羹,多端部署
HarmonyOS提供了用戶程序框架甲雅、Ability框架以及UI框架,支持應(yīng)用開發(fā)過(guò)程中多終端的業(yè)務(wù)邏輯和界面邏輯進(jìn)行復(fù)用坑填,能夠?qū)崿F(xiàn)應(yīng)用的一次開發(fā)抛人、多端部署,提升了跨設(shè)備應(yīng)用的開發(fā)效率脐瑰。一次開發(fā)妖枚、多端部署示意圖見圖5。
統(tǒng)一OS绝页,彈性部署
HarmonyOS通過(guò)組件化和小型化等設(shè)計(jì)方法,支持多種終端設(shè)備按需彈性部署忌穿,能夠適配不同類別的硬件資源和功能需求抒寂。支撐通過(guò)編譯鏈關(guān)系去自動(dòng)生成組件化的依賴關(guān)系结啼,形成組件樹依賴圖掠剑,支撐產(chǎn)品系統(tǒng)的便捷開發(fā),降低硬件設(shè)備的開發(fā)門檻郊愧。
支持各組件的選擇(組件可有可無(wú)):根據(jù)硬件的形態(tài)和需求朴译,可以選擇所需的組件井佑。
支持組件內(nèi)功能集的配置(組件可大可小):根據(jù)硬件的資源情況和功能需求眠寿,可以選擇配置組件中的功能集躬翁。例如,選擇配置圖形框架組件中的部分控件盯拱。
支持組件間依賴的關(guān)聯(lián)(平臺(tái)可大可泻蟹ⅰ):根據(jù)編譯鏈關(guān)系,可以自動(dòng)生成組件化的依賴關(guān)系狡逢。例如宁舰,選擇圖形框架組件,將會(huì)自動(dòng)選擇依賴的圖形引擎組件等奢浑。
技術(shù)架構(gòu)
HarmonyOS整體遵從分層設(shè)計(jì)蛮艰,從下向上依次為:內(nèi)核層、系統(tǒng)服務(wù)層雀彼、框架層和應(yīng)用層壤蚜。系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 功能/模塊”逐級(jí)展開,在多設(shè)備部署場(chǎng)景下徊哑,支持根據(jù)實(shí)際需求裁剪某些非必要的子系統(tǒng)或功能/模塊袜刷。HarmonyOS技術(shù)架構(gòu)如圖1所示。
內(nèi)核層
內(nèi)核子系統(tǒng):HarmonyOS采用多內(nèi)核設(shè)計(jì)实柠,支持針對(duì)不同資源受限設(shè)備選用適合的OS內(nèi)核水泉。內(nèi)核抽象層(KAL,KernelAbstract Layer)通過(guò)屏蔽多內(nèi)核差異窒盐,對(duì)上層提供基礎(chǔ)的內(nèi)核能力草则,包括進(jìn)程/線程管理、內(nèi)存管理蟹漓、文件系統(tǒng)炕横、網(wǎng)絡(luò)管理和外設(shè)管理等。
驅(qū)動(dòng)子系統(tǒng):HarmonyOS驅(qū)動(dòng)框架(HDF)是HarmonyOS硬件生態(tài)開放的基礎(chǔ)葡粒,提供統(tǒng)一外設(shè)訪問能力和驅(qū)動(dòng)開發(fā)份殿、管理框架。
系統(tǒng)服務(wù)層
系統(tǒng)服務(wù)層是HarmonyOS的核心能力集合嗽交,通過(guò)框架層對(duì)應(yīng)用程序提供服務(wù)卿嘲。該層包含以下幾個(gè)部分:
系統(tǒng)基本能力子系統(tǒng)集:為分布式應(yīng)用在HarmonyOS多設(shè)備上的運(yùn)行、調(diào)度夫壁、遷移等操作提供了基礎(chǔ)能力拾枣,由分布式軟總線、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度梅肤、方舟多語(yǔ)言運(yùn)行時(shí)司蔬、公共基礎(chǔ)庫(kù)、多模輸入姨蝴、圖形俊啼、安全、AI等子系統(tǒng)組成左医。其中授帕,方舟運(yùn)行時(shí)提供了C/C++/JS多語(yǔ)言運(yùn)行時(shí)和基礎(chǔ)的系統(tǒng)類庫(kù),也為使用方舟編譯器靜態(tài)化的Java程序(即應(yīng)用程序或框架層中使用Java語(yǔ)言開發(fā)的部分)提供運(yùn)行時(shí)浮梢。
基礎(chǔ)軟件服務(wù)子系統(tǒng)集:為HarmonyOS提供公共的豪墅、通用的軟件服務(wù),由事件通知黔寇、電話偶器、多媒體、DFX缝裤、MSDP&DV等子系統(tǒng)組成屏轰。
增強(qiáng)軟件服務(wù)子系統(tǒng)集:為HarmonyOS提供針對(duì)不同設(shè)備的、差異化的能力增強(qiáng)型軟件服務(wù)憋飞,由智慧屏專有業(yè)務(wù)霎苗、穿戴專有業(yè)務(wù)、IoT專有業(yè)務(wù)等子系統(tǒng)組成榛做。
硬件服務(wù)子系統(tǒng)集:為HarmonyOS提供硬件服務(wù)唁盏,由位置服務(wù)、生物特征識(shí)別检眯、穿戴專有硬件服務(wù)厘擂、IoT專有硬件服務(wù)等子系統(tǒng)組成。
根據(jù)不同設(shè)備形態(tài)的部署環(huán)境锰瘸,基礎(chǔ)軟件服務(wù)子系統(tǒng)集刽严、增強(qiáng)軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集內(nèi)部可以按子系統(tǒng)粒度裁剪避凝,每個(gè)子系統(tǒng)內(nèi)部又可以按功能粒度裁剪舞萄。
框架層
框架層為HarmonyOS的應(yīng)用程序提供了Java/C/C++/JS等多語(yǔ)言的用戶程序框架和Ability框架,以及各種軟硬件服務(wù)對(duì)外開放的多語(yǔ)言框架API管削;同時(shí)為采用HarmonyOS的設(shè)備提供了C/C++/JS等多語(yǔ)言的框架API倒脓,不同設(shè)備支持的API與系統(tǒng)的組件化裁剪程度相關(guān)。
應(yīng)用層
應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用含思。HarmonyOS的應(yīng)用由一個(gè)或多個(gè)FA(Feature Ability)或PA(Particle Ability)組成崎弃。其中,F(xiàn)A有UI界面,提供與用戶交互的能力吊履;而PA無(wú)UI界面,提供后臺(tái)運(yùn)行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象调鬓⊥а祝基于FA/PA開發(fā)的應(yīng)用,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能腾窝,支持跨設(shè)備調(diào)度與分發(fā)缀踪,為用戶提供一致、高效的應(yīng)用體驗(yàn)虹脯。
系統(tǒng)安全
在搭載HarmonyOS的分布式終端上驴娃,可以保證“正確的人,通過(guò)正確的設(shè)備循集,正確地使用數(shù)據(jù)”唇敞。
正確的人
在分布式終端場(chǎng)景下,“正確的人”指通過(guò)身份認(rèn)證的數(shù)據(jù)訪問者和業(yè)務(wù)操作者咒彤〗幔“正確的人”是確保用戶數(shù)據(jù)不被非法訪問、用戶隱私不泄露的前提條件镶柱。HarmonyOS通過(guò)以下三個(gè)方面來(lái)實(shí)現(xiàn)協(xié)同身份認(rèn)證:
零信任模型:HarmonyOS基于零信任模型旷档,實(shí)現(xiàn)對(duì)用戶的認(rèn)證和對(duì)數(shù)據(jù)的訪問控制。當(dāng)用戶需要跨設(shè)備訪問數(shù)據(jù)資源或者發(fā)起高安全等級(jí)的業(yè)務(wù)操作(例如歇拆,對(duì)安防設(shè)備的操作)時(shí)鞋屈,HarmonyOS會(huì)對(duì)用戶進(jìn)行身份認(rèn)證,確保其身份的可靠性故觅。
多因素融合認(rèn)證:HarmonyOS通過(guò)用戶身份管理厂庇,將不同設(shè)備上標(biāo)識(shí)同一用戶的認(rèn)證憑據(jù)關(guān)聯(lián)起來(lái),用于標(biāo)識(shí)一個(gè)用戶输吏,來(lái)提高認(rèn)證的準(zhǔn)確度宋列。
協(xié)同互助認(rèn)證:HarmonyOS通過(guò)將硬件和認(rèn)證能力解耦(即信息采集和認(rèn)證可以在不同的設(shè)備上完成),來(lái)實(shí)現(xiàn)不同設(shè)備的資源池化以及能力的互助與共享评也,讓高安全等級(jí)的設(shè)備協(xié)助低安全等級(jí)的設(shè)備完成用戶身份認(rèn)證炼杖。
通過(guò)“分布式多端協(xié)同身份認(rèn)證”來(lái)保證“正確的人”。
正確的設(shè)備
通過(guò)“在分布式終端上構(gòu)筑可信運(yùn)行環(huán)境”來(lái)保證“正確的設(shè)備”盗迟。
通過(guò)“分布式數(shù)據(jù)在跨終端流動(dòng)的過(guò)程中坤邪,對(duì)數(shù)據(jù)進(jìn)行分類分級(jí)管理”來(lái)保證“正確地使用數(shù)據(jù)”。
在分布式終端場(chǎng)景下罚缕,只有保證用戶使用的設(shè)備是安全可靠的艇纺,才能保證用戶數(shù)據(jù)在虛擬終端上得到有效保護(hù),避免用戶隱私泄露。
安全啟動(dòng)
確保源頭每個(gè)虛擬設(shè)備運(yùn)行的系統(tǒng)固件和應(yīng)用程序是完整的黔衡、未經(jīng)篡改的蚓聘。通過(guò)安全啟動(dòng),各個(gè)設(shè)備廠商的鏡像包就不易被非法替換為惡意程序盟劫,從而保護(hù)用戶的數(shù)據(jù)和隱私安全夜牡。
可信執(zhí)行環(huán)境
提供了基于硬件的可信執(zhí)行環(huán)境(TEE,Trusted Execution Environment)來(lái)保護(hù)用戶的個(gè)人敏感數(shù)據(jù)的存儲(chǔ)和處理侣签,確保數(shù)據(jù)不泄露塘装。由于分布式終端硬件的安全能力不同,對(duì)于用戶的敏感個(gè)人數(shù)據(jù)影所,需要使用高安全等級(jí)的設(shè)備進(jìn)行存儲(chǔ)和處理蹦肴。HarmonyOS使用基于數(shù)學(xué)可證明的形式化開發(fā)和驗(yàn)證的TEE微內(nèi)核,獲得了商用OS內(nèi)核CC EAL5+的認(rèn)證評(píng)級(jí)猴娩。
設(shè)備證書認(rèn)證
支持為具備可信執(zhí)行環(huán)境的設(shè)備預(yù)置設(shè)備證書阴幌,用于向其他虛擬終端證明自己的安全能力。對(duì)于有TEE環(huán)境的設(shè)備卷中,通過(guò)預(yù)置PKI(Public Key Infrastructure)設(shè)備證書給設(shè)備身份提供證明裂七,確保設(shè)備是合法制造生產(chǎn)的。設(shè)備證書在產(chǎn)線進(jìn)行預(yù)置仓坞,設(shè)備證書的私鑰寫入并安全保存在設(shè)備的TEE環(huán)境中背零,且只在TEE內(nèi)進(jìn)行使用。在必須傳輸用戶的敏感數(shù)據(jù)(例如密鑰无埃、加密的生物特征等信息)時(shí)徙瓶,會(huì)在使用設(shè)備證書進(jìn)行安全環(huán)境驗(yàn)證后,建立從一個(gè)設(shè)備的TEE到另一設(shè)備的TEE之間的安全通道嫉称,實(shí)現(xiàn)安全傳輸侦镇。如圖1所示。
正確地使用數(shù)據(jù)
在分布式終端場(chǎng)景下织阅,需要確保用戶能夠正確地使用數(shù)據(jù)壳繁。HarmonyOS圍繞數(shù)據(jù)的生成、存儲(chǔ)荔棉、使用闹炉、傳輸以及銷毀過(guò)程進(jìn)行全生命周期的保護(hù),從而保證個(gè)人數(shù)據(jù)與隱私润樱、以及系統(tǒng)的機(jī)密數(shù)據(jù)(如密鑰)不泄漏辜伟。
數(shù)據(jù)生成:根據(jù)數(shù)據(jù)所在的國(guó)家或組織的法律法規(guī)與標(biāo)準(zhǔn)規(guī)范臣淤,對(duì)數(shù)據(jù)進(jìn)行分類分級(jí)沉御,并且根據(jù)分類設(shè)置相應(yīng)的保護(hù)等級(jí)。每個(gè)保護(hù)等級(jí)的數(shù)據(jù)從生成開始皂冰,在其存儲(chǔ)、使用养篓、傳輸?shù)恼麄€(gè)生命周期都需要根據(jù)對(duì)應(yīng)的安全策略提供不同強(qiáng)度的安全防護(hù)秃流。虛擬超級(jí)終端的訪問控制系統(tǒng)支持依據(jù)標(biāo)簽的訪問控制策略,保證數(shù)據(jù)只能在可以提供足夠安全防護(hù)的虛擬終端之間存儲(chǔ)柳弄、使用和傳輸舶胀。
數(shù)據(jù)存儲(chǔ):HarmonyOS通過(guò)區(qū)分?jǐn)?shù)據(jù)的安全等級(jí),存儲(chǔ)到不同安全防護(hù)能力的分區(qū)语御,對(duì)數(shù)據(jù)進(jìn)行安全保護(hù),并提供密鑰全生命周期的跨設(shè)備無(wú)縫流動(dòng)和跨設(shè)備密鑰訪問控制能力席怪,支撐分布式身份認(rèn)證協(xié)同应闯、分布式數(shù)據(jù)共享等業(yè)務(wù)。
數(shù)據(jù)使用:HarmonyOS通過(guò)硬件為設(shè)備提供可信執(zhí)行環(huán)境挂捻。用戶的個(gè)人敏感數(shù)據(jù)僅在分布式虛擬終端的可信執(zhí)行環(huán)境中進(jìn)行使用碉纺,確保用戶數(shù)據(jù)的安全和隱私不泄露。
數(shù)據(jù)傳輸:為了保證數(shù)據(jù)在虛擬超級(jí)終端之間安全流轉(zhuǎn)刻撒,需要各設(shè)備是正確可信的骨田,建立了信任關(guān)系(多個(gè)設(shè)備通過(guò)華為帳號(hào)建立配對(duì)關(guān)系),并能夠在驗(yàn)證信任關(guān)系后声怔,建立安全的連接通道态贤,按照數(shù)據(jù)流動(dòng)的規(guī)則,安全地傳輸數(shù)據(jù)醋火。當(dāng)設(shè)備之間進(jìn)行通信時(shí)悠汽,需要基于設(shè)備的身份憑據(jù)對(duì)設(shè)備進(jìn)行身份認(rèn)證,并在此基礎(chǔ)上芥驳,建立安全的加密傳輸通道柿冲。
數(shù)據(jù)銷毀:銷毀密鑰即銷毀數(shù)據(jù)。數(shù)據(jù)在虛擬終端的存儲(chǔ)兆旬,都建立在密鑰的基礎(chǔ)上假抄。當(dāng)銷毀數(shù)據(jù)時(shí),只需要銷毀對(duì)應(yīng)的密鑰即完成了數(shù)據(jù)的銷毀丽猬。
兩大重點(diǎn):分布式技術(shù)提升宿饱、生態(tài)開放
演講中,華為消費(fèi)者業(yè)務(wù)軟件部總裁王成錄表示鴻蒙 2.0 相比 1.0 有一個(gè)非常大的提升脚祟,同時(shí)這是一個(gè)非常重要的里程碑刑棵。一方面得益于分布式技術(shù)的提升,EMUI 的能力過(guò)去一年也已經(jīng)全部重用在了鴻蒙 2.0 系統(tǒng)中愚铡;另一方面蛉签,鴻蒙 2.0 邁出了賦能第三方生態(tài)的第一步:華為已經(jīng)將其開放給應(yīng)用廠家做創(chuàng)新胡陪。
鴻蒙不是手機(jī)系統(tǒng)的簡(jiǎn)單替代,是全場(chǎng)景的底座碍舍,其三大分布式能力分別是分布式軟總線柠座、分布式數(shù)據(jù)管理和分布式安全的解決方案。
分布式軟總線
如下圖片橡,分布式軟總線是整個(gè)鴻蒙系統(tǒng)的底座妈经,其性能無(wú)限逼近硬總線的能力,讓多設(shè)備可以融為一體捧书,讓系統(tǒng)極速流暢吹泡。
在全融合自適應(yīng)部分,鴻蒙系統(tǒng)實(shí)現(xiàn)了異構(gòu)網(wǎng)絡(luò)融合经瓷,不同設(shè)備可以互聯(lián)互通爆哑;自發(fā)現(xiàn)自連接,幾乎每次更換網(wǎng)絡(luò)都需要做很繁瑣的配置舆吮,基于鴻蒙系統(tǒng)的設(shè)備配置一次就可以自發(fā)現(xiàn)自連接揭朝;三是動(dòng)態(tài)時(shí)延校準(zhǔn),以音畫同步為例色冀,如果把視頻流給大屏潭袱,音頻流給音箱,可以實(shí)現(xiàn)二者同步锋恬。
分布式數(shù)據(jù)管理
分布式的數(shù)據(jù)管理讓跨設(shè)備數(shù)據(jù)處理如同本地一樣方便便捷屯换。在分布式文件系統(tǒng)層面,遠(yuǎn)程文件跨設(shè)備之間的讀寫如果速度上不來(lái)將會(huì)很糟糕与学,華為比業(yè)界做的最好的 Samba 系統(tǒng)最低速度快四倍趟径;分布式數(shù)據(jù)庫(kù)層面,跨設(shè)備之間的讀取對(duì)比 ContentProvide(同設(shè)備之間的讀妊⒎馈)速度提升了 1.3 倍蜗巧;分布式檢索的速度比 iOS Core Spotlight 快 1.2 倍。
分布式安全
實(shí)際上蕾盯,在分布式系統(tǒng)里有非常好的機(jī)會(huì)可以突破單設(shè)備上的單維度身份認(rèn)證幕屹,在多設(shè)備上可以通過(guò)多因子進(jìn)行更強(qiáng)的身份認(rèn)證,這樣不僅讓代碼可以一次編寫级遭、多端運(yùn)行望拖,還可以讓設(shè)備更加安全。
王成錄表示挫鸽,華為可以將微內(nèi)核彈性部署到任何設(shè)備上说敏,并會(huì)將該能力開放。在數(shù)據(jù)層面丢郊,華為設(shè)置了一系列規(guī)則盔沫,比如最高級(jí)別的數(shù)據(jù)一定要存在單體能力更強(qiáng)的設(shè)備上医咨,數(shù)據(jù)的流動(dòng)一定要有規(guī)則,高級(jí)別可以訪問低級(jí)別架诞,反之不行拟淮。
開發(fā)工具平臺(tái):HUAWEI DevEco Studio
DevEco Studio支持包括智慧屏、智能穿戴和輕量級(jí)智能穿戴的HarmonyOS應(yīng)用開發(fā)谴忧,可以根據(jù)工程向?qū)лp松創(chuàng)建適應(yīng)于各類設(shè)備的工程很泊,并自動(dòng)生成對(duì)應(yīng)的代碼和資源模板。同時(shí)沾谓,DevEco Studio還提供了多種編程語(yǔ)言供開發(fā)者進(jìn)行HarmonyOS應(yīng)用開發(fā)委造,包括Java、JS和C/C++三種編程語(yǔ)言均驶,并支持多種語(yǔ)言的混合開發(fā)場(chǎng)景昏兆。因此,在創(chuàng)建對(duì)應(yīng)設(shè)備的工程時(shí)辣恋,工具會(huì)預(yù)置多種Ability的模板亮垫,并推薦您使用適合的開發(fā)語(yǔ)言模软。
參考:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-0000001053582415
方舟編譯器
對(duì)計(jì)算機(jī)知識(shí)(領(lǐng)域)有一個(gè)宏觀的認(rèn)識(shí):https://www.zhihu.com/question/265434988
計(jì)算機(jī)科學(xué)領(lǐng)域伟骨,從底層向上依次是:
編譯器是連接人類世界與機(jī)器世界之間的一座橋梁,任何在手機(jī)上的程序都需要經(jīng)歷軟件開發(fā)的過(guò)程燃异,軟件開發(fā)使用的語(yǔ)言是易于程序員理解的高級(jí)語(yǔ)言携狭,程序在手機(jī)上運(yùn)行需要轉(zhuǎn)換成可以高效執(zhí)行的機(jī)器碼,這樣的轉(zhuǎn)換過(guò)程就是由編譯器完成的回俐」渫龋可以說(shuō)編譯器是用來(lái)生成軟件的軟件,是連接軟件與芯片的橋梁仅颇,其性能单默,效率直接影響到最基礎(chǔ)的消費(fèi)者體驗(yàn)。
面向多設(shè)備忘瓦、支持多語(yǔ)言的統(tǒng)一編程平臺(tái)搁廓。
OpenArkCompiler是來(lái)自華為方舟編譯器的開源項(xiàng)目。華為方舟編譯器(HuaWei Ark Compiler)耕皮,靜態(tài)編譯境蜕,運(yùn)行平臺(tái):HarmonyOS,EMUI凌停,MagicUI等粱年。
OpenArkCompiler 四個(gè)技術(shù)特點(diǎn)
能夠?qū)⒉煌Z(yǔ)言代碼編譯成一套可執(zhí)行文件,在運(yùn)行環(huán)境中高效執(zhí)行:
支持多語(yǔ)言聯(lián)合優(yōu)化罚拟、消除跨語(yǔ)言調(diào)用開銷台诗;
更輕量的語(yǔ)言運(yùn)行時(shí)完箩;
軟硬協(xié)同充分發(fā)揮硬件能效;
支持多樣化的終端設(shè)備平臺(tái)拉庶。
源代碼:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home
官網(wǎng):https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/readme
方舟編譯器改變了系統(tǒng)及應(yīng)用的編譯和運(yùn)行機(jī)制嗜憔,直接將高級(jí)語(yǔ)言編譯成機(jī)器碼,讓手機(jī)能直接聽懂“高級(jí)語(yǔ)言”氏仗,消除了虛擬機(jī)動(dòng)態(tài)編譯的額外開銷吉捶,提升了手機(jī)運(yùn)行效率。
同時(shí)皆尔,方舟編譯器還能夠理解程序特征呐舔、使用適合的指令來(lái)執(zhí)行程序,因此能夠極大程度地發(fā)揮出芯片的能力慷蠕。
目前珊拼,方舟編譯器聚焦在 Java 代碼性能上,未來(lái)流炕,方舟編譯器將覆蓋多種編程語(yǔ)言(包括 C/C++澎现、JS 等),多種芯片架構(gòu)(包括CPU每辟、GPU剑辫、IPU等),覆蓋更廣的業(yè)務(wù)場(chǎng)景渠欺。
物聯(lián)網(wǎng)時(shí)代的創(chuàng)新
注冊(cè)成為華為開發(fā)者
https://developer.huawei.com/consumer/cn/
“開放原子”開源基金會(huì)
“開放原子”開源基金會(huì):https://www.openatom.org/#/indexPage
OpenHarmony 的目標(biāo)是支持可在多種終端設(shè)備上運(yùn)行妹蔽。既可運(yùn)行在百 KB 級(jí)別的資源受限設(shè)備和穿戴類設(shè)備上,也可運(yùn)行在百 MB 級(jí)別的智能家用攝像頭挠将、行車記錄儀等相對(duì)資源豐富的設(shè)備上胳岂,以及 GB 級(jí)別的智能電視等設(shè)備上。第一個(gè)版本支持 128KB-128MB 的內(nèi)存設(shè)備舔稀。
技術(shù)價(jià)值:OpenHarmony 采用了組件化的設(shè)計(jì)方案乳丰,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進(jìn)行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對(duì)于操作系統(tǒng)的要求内贮。
業(yè)務(wù)價(jià)值:將廣泛應(yīng)用在智能家居物聯(lián)網(wǎng)終端产园、智能穿戴、智慧大屏贺归、汽車智能座艙淆两、音箱等智能終端,提供全場(chǎng)景跨設(shè)備的極致體驗(yàn)拂酣。
生態(tài)價(jià)值:對(duì)設(shè)備開發(fā)者而言秋冰,OpenHarmony 采用了組件化的設(shè)計(jì)方案,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進(jìn)行靈活裁剪婶熬,滿足不同形態(tài)的終端設(shè)備對(duì)于操作系統(tǒng)的要求剑勾。對(duì)應(yīng)用開發(fā)者而言埃撵,OpenHarmony 統(tǒng)一軟件架構(gòu)打通了多種終端,使得應(yīng)用程序的開發(fā)實(shí)現(xiàn)與不同終端設(shè)備的形態(tài)差異無(wú)關(guān)虽另,降低了開發(fā)難度和成本暂刘。這能夠讓開發(fā)者聚焦上層業(yè)務(wù)邏輯、便捷開發(fā)應(yīng)用程序捂刺。
harmony os源代碼:https://openharmony.gitee.com/openharmony
華為開發(fā)者大會(huì)
華為開發(fā)者大會(huì)2020(Together)丨主題演講直播回看:
https://developer.huawei.com/consumer/cn/training/detail/101600172153624030?channelname=HeZuo58&ha_source=banner