从代码角度揭示:华为鸿蒙的“套壳”真相!
華為鴻蒙操作系統(tǒng)(HarmonyOS)出來(lái)后,互聯(lián)網(wǎng)上已經(jīng)吵翻天了,有人認(rèn)為HarmonyOS是“自主的全場(chǎng)景分布式系統(tǒng)”,是國(guó)產(chǎn)之光,另一派則認(rèn)為HarmonyOS是“Android套殼”,是掛羊頭賣狗肉。作為十年老程序員,有必要從代碼角度厘清一下真相(佩服知乎大神,已拆解完HarmonyOS源碼):
1 ?目錄結(jié)構(gòu)和Android雷同,只是改了后綴,如果將后綴.hap改回.apk,甚至可以直接用Android Studio打開(kāi)。
2 主代碼就干了一件事:重新定義了一套新的UI,這就是為啥鴻蒙看起來(lái)和蘋(píng)果似的原因,這是華為重寫(xiě)的。
3 ?華為最關(guān)鍵的三個(gè)點(diǎn)是加入了分布式任務(wù)調(diào)度、分布式數(shù)據(jù)服務(wù)、分布式文件服務(wù),都在ohos.jar包里面,但是其源碼全部隱藏了。
綜述一下,HarmonyOS = 原有的Android系統(tǒng) - GMS + HMS + 分布式軟總線 + 以Ability為核心的應(yīng)用開(kāi)發(fā)框架。可能還是不太好懂,換個(gè)角度來(lái)說(shuō):
1 ?全世界所有的Android操作系統(tǒng)最底層的內(nèi)核是Linux;
2 ?谷歌在Linux上為手機(jī)場(chǎng)景提供了一套開(kāi)源封裝就是Android Open Source Project,是所有的Android系統(tǒng)的地基,也被稱之為Android裸機(jī)版;
3 ?日常說(shuō)的Android操作系統(tǒng)實(shí)際上是Android Open Source Project+谷歌定制的GMS增強(qiáng)包;
4 ?華為鴻蒙則是去掉了GMS,換成了自己的HMS,當(dāng)然還加入了分布式的東西,基于Android Open Source Project套殼而成,所以說(shuō)是AOSP套殼是沒(méi)問(wèn)題的,但又確實(shí)跟Android不同,這也是爭(zhēng)議所在。
面對(duì)現(xiàn)實(shí)吧,沒(méi)人會(huì)說(shuō)IOS是Android套殼,也沒(méi)有會(huì)說(shuō)Windows是Linux套殼,而華為鴻蒙現(xiàn)階段就是基于Android Open Source Project套殼!但這重要嗎?我國(guó)當(dāng)年花重金購(gòu)入瓦良格號(hào),基于此開(kāi)發(fā)出遼寧艦、山東艦,現(xiàn)在會(huì)有人在乎它們算不算套殼嗎?一方面積極汲取他人長(zhǎng)處,快速完成自我提升,另一方面也要意識(shí)到差距,持續(xù)進(jìn)步完成蛻變!
師夷長(zhǎng)技,腳踏實(shí)地
很多的.NET開(kāi)發(fā)者,對(duì)互聯(lián)網(wǎng)大廠流行的微服務(wù)云原生架構(gòu),也呈現(xiàn)兩種極端態(tài)度。要么是固步自封,眼下的工作用不上,極為排斥,其結(jié)果是市場(chǎng)脫節(jié),要么是大廠真香,沒(méi)有點(diǎn)技術(shù)儲(chǔ)備卻非要全套照搬,其結(jié)果大部分都是不了了之。在我看來(lái),這些都是不智的,新技術(shù)新框架,都應(yīng)該去積極擁抱積極嘗試,這樣才能保證自身的競(jìng)爭(zhēng)力。然后在學(xué)習(xí)的時(shí)候,也要腳踏實(shí)地,一步步前進(jìn),別妄想一步到位。
這里給大家推薦微軟MVP-Eleven老師的《.NET6+微服務(wù)架構(gòu)落地高并發(fā)電商平臺(tái)》實(shí)戰(zhàn)訓(xùn)練營(yíng),本號(hào)粉絲直接免費(fèi),限200名額,下圖掃碼進(jìn)專用交流群即可!今晚八點(diǎn)開(kāi)講,直面微軟MVP,趕緊掃碼!
本訓(xùn)練營(yíng)課程是基于.NET6 Preview4+微服務(wù)架構(gòu)落地B2C電商平臺(tái),涵蓋了微服務(wù)架構(gòu)全組件:網(wǎng)關(guān)和服務(wù)治理、服務(wù)注冊(cè)發(fā)現(xiàn)、獨(dú)立鑒權(quán)授權(quán)中心、全鏈路追蹤、分布式日志、指數(shù)收集與監(jiān)控、分布式配置中心等,還用Docker+Jenkins構(gòu)建了CI/CD持續(xù)集成持續(xù)部署的自動(dòng)化流程,部署在Kubernetes搭建的私有云環(huán)境,采用多種分布式鎖以及最終一致性的分布式事務(wù)方案,是完整的.NET Core微服務(wù)架構(gòu)案例!
微軟MVP親授
要學(xué)習(xí)微服務(wù)架構(gòu)門(mén)檻不低,第一個(gè)前提就是熟悉跨平臺(tái)開(kāi)發(fā),包括ASP.NET Core、EntityFrameworkCore、Core WebAPI、gRPC等,下面這組是年初錄制的一組.NET5實(shí)戰(zhàn)教程,缺乏跨平臺(tái)開(kāi)發(fā)經(jīng)驗(yàn)的得快速補(bǔ)充一下!
.NET5實(shí)戰(zhàn)教程
高并發(fā)組件更是不可或缺的,微服務(wù)架構(gòu)本身就是為了應(yīng)對(duì)高并發(fā)而生,Redis、MongoDB、RabbitMQ、Kafka等一個(gè)都不能少。
多教程合集(視頻+源碼+筆記)
以上預(yù)習(xí)資料都已經(jīng)整理好了,趕緊掃碼領(lǐng)取吧,今晚八點(diǎn)微服務(wù)架構(gòu)實(shí)戰(zhàn)就開(kāi)講了!牛年跳槽季,.NET高薪崗位比比皆是,騰訊T9級(jí).NET Core崗位就明確要求微服務(wù),下一次的跳槽加薪就在此一搏,學(xué)習(xí)搞起來(lái)!
掃碼添加-免費(fèi)領(lǐng)資料
高薪內(nèi)推通道
高薪薪nixoag高內(nèi)推通道薪薪nixoag
學(xué)習(xí)提升的目標(biāo)就是為了升職加薪,下面這個(gè)交流群請(qǐng)務(wù)必掃碼進(jìn)一下,除了技術(shù)直播分享和答疑交流,還經(jīng)常有國(guó)內(nèi)頂尖.NET企業(yè)內(nèi)推信息,覆蓋北上廣深和一眾二線城市,尤其是一些不那么大規(guī)模的公司的核心崗位招聘,都是依賴于內(nèi)推的。歡迎大家進(jìn)群一起學(xué)習(xí)交流,一起分享內(nèi)部推薦,建立.NET5高薪學(xué)習(xí)社區(qū),Let's Go!
掃碼添加-加入技術(shù)交流群
總結(jié)
以上是生活随笔為你收集整理的从代码角度揭示:华为鸿蒙的“套壳”真相!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 复仇!3:1 KO叙利亚!.NET程序员
- 下一篇: 你有做 Code Review 吗?