2017年,華為手機(jī)靠著1.53億臺(tái)的銷(xiāo)量和20.4%的市場(chǎng)占有率,穩(wěn)坐中國(guó)手機(jī)市場(chǎng)老大的位置。
當(dāng)大家都在慶祝這個(gè)里程碑時(shí)刻時(shí),2018年初,華為消費(fèi)者業(yè)務(wù)軟件部門(mén)的負(fù)責(zé)人王成錄卻向任正非傳遞了一個(gè)危險(xiǎn)的信號(hào):華為并不具備與巨大的手機(jī)業(yè)務(wù)規(guī)模相匹配的“根基”,華為需要自己的操作系統(tǒng)。
任正非隨即拍板決定,一直在籌謀的“操作系統(tǒng)項(xiàng)目”從軟件部?jī)?nèi)部項(xiàng)目,升格為公司項(xiàng)目。
兩年之后的2019年8月9日,余承東迎來(lái)50歲生日,這距離美國(guó)首次制裁華為已經(jīng)過(guò)去4個(gè)月。當(dāng)天,華為在開(kāi)發(fā)者大會(huì)上揭開(kāi)了鴻蒙系統(tǒng)的面紗。余承東生日蛋糕的照片和鴻蒙的名字,傳遍了社交網(wǎng)站。
鴻蒙在華為的高光時(shí)刻誕生,在華為陷入危機(jī)時(shí)走到臺(tái)前。
鴻蒙作為華為自研OS,一直以來(lái)備受爭(zhēng)議,但不管是早期的“活在PPT里的系統(tǒng)”,還是之后的“安卓套殼”,公眾對(duì)鴻蒙有期待,也有質(zhì)疑。
在華為手機(jī)業(yè)務(wù)全球收縮的背景下,鴻蒙即將在蹣跚學(xué)步時(shí)期,迎來(lái)一次巨大危機(jī)。
鴻蒙2.0 460萬(wàn)行代碼陸續(xù)開(kāi)源
隨著近期鴻蒙系統(tǒng)逐漸推送至普通用戶的手機(jī)中,關(guān)于鴻蒙的爭(zhēng)論愈加激烈。很多網(wǎng)友認(rèn)為鴻蒙是套殼安卓,但礙于代碼未開(kāi)源難以求證。
日前,據(jù)微博@釗哥科普 最新爆料,全新的鴻蒙OpenHarmony 2.0將從5月16日起到6月2日陸續(xù)開(kāi)源。
此前,華為曾在開(kāi)發(fā)者大會(huì)上宣布將 HarmonyOS源代碼捐贈(zèng)給中國(guó)開(kāi)放原子開(kāi)源基金會(huì),并在大會(huì)上公布了鴻蒙系統(tǒng)的開(kāi)源路線,就是OpenHarmony。
OpenHarmony 官方源碼地址:
https://openharmony.gitee.com/openharmony
根據(jù)Gitee上介紹,OpenHarmony在傳統(tǒng)的單設(shè)備系統(tǒng)能力的基礎(chǔ)上,創(chuàng)造性地提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的理念,支持多種終端設(shè)備上運(yùn)行,第一個(gè)版本支持128K~128M設(shè)備上運(yùn)行,歡迎參加開(kāi)源社區(qū)一起持續(xù)演進(jìn)。
針對(duì)設(shè)備開(kāi)發(fā)者,OpenHarmony采用了組件化的設(shè)計(jì)方案,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進(jìn)行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對(duì)于操作系統(tǒng)的要求??蛇\(yùn)行在百K級(jí)別的資源受限設(shè)備和穿戴類(lèi)設(shè)備,也可運(yùn)行在百M(fèi)級(jí)別的智能家用攝像頭/行車(chē)記錄儀等相對(duì)資源豐富的設(shè)備。
上個(gè)月,華為放出了OpenHarmony 1.1.0 LTS版本,相比于更早的1.0版本增加了AI子系統(tǒng)、電源管理子系統(tǒng)、泛傳感器子系統(tǒng)、升級(jí)子系統(tǒng)、統(tǒng)一AI引擎框架。
根據(jù)釗哥科普的介紹,OpenHarmony 2.0約有460萬(wàn)行關(guān)鍵代碼,相比起來(lái)Android 10則擁有1525萬(wàn)行;OpenHarmony 2.0約有18000個(gè)API,相比起來(lái)Android 10則擁有36000+個(gè)。安裝包體積縮小到60-70%,手機(jī)、平板、可穿戴設(shè)備、電視、傳感器等各種設(shè)備都能使用。
根據(jù)他的爆料,OpenHarmony 2.0將會(huì)有多個(gè)分支版本,本次開(kāi)放L2是純粹的鴻蒙版本,而OpenHarmony L2代碼開(kāi)源已經(jīng)開(kāi)始,幾百萬(wàn)航代碼陸續(xù)走來(lái)。純粹的鴻蒙版本沒(méi)有任何安卓代碼,可以使用所有鴻蒙的應(yīng)用,不過(guò)在APP上較為匱乏。
還將會(huì)有L3-L5版本,是兼容安卓的雙框架,此前看到能跑安卓apk應(yīng)用的就是它,很快也會(huì)開(kāi)源?!爸劣谶@個(gè)鴻蒙是不是很多人認(rèn)為的套殼安卓,代碼里見(jiàn),對(duì)著代碼碰吧,一次噴個(gè)痛快”,他這樣激動(dòng)地說(shuō)。
而在生態(tài)方面,越來(lái)越多的單位將加入鴻蒙行列,比如中國(guó)信通院、軟通動(dòng)力、好叭科技、華秋電子、中軟、潤(rùn)和軟件、九聯(lián)科技,等等。
對(duì)于為何鴻蒙能兼容安卓應(yīng)用,終于有了相關(guān)介紹。根據(jù)釗哥科普爆料的PPT圖片顯示,這是因?yàn)镺penHarmony 2.0復(fù)用了多個(gè)開(kāi)源組件,適時(shí)啟動(dòng)Foundation進(jìn)程,然后在該進(jìn)程內(nèi)進(jìn)一步處理。
5月初,鴻蒙OS 2.0開(kāi)發(fā)者版陸續(xù)公測(cè),Mate 40等旗艦機(jī)已經(jīng)收到系統(tǒng)推送,后續(xù)華為 nova 6、nova 6 5G 、nova 7 5G、nova 7 Pro 5G、nova 8、nova 8 Pro、MatePad 10.8 英寸等機(jī)型也會(huì)支持。
而OpenHarmony則也一直在革新,OpenHarmony版本路標(biāo)如下:
對(duì)于這個(gè)消息,知乎上有人表示質(zhì)疑,但釗哥認(rèn)為L(zhǎng)2可以上手機(jī),馬上就拿出來(lái)了。
是否套殼?官方回應(yīng)
對(duì)于鴻蒙是否是套殼這個(gè)問(wèn)題,華為之前曾經(jīng)多次公開(kāi)發(fā)聲。華為消費(fèi)者業(yè)務(wù)軟件部總裁、鴻蒙操作系統(tǒng)負(fù)責(zé)人王成錄在接受?chē)?guó)內(nèi)媒體采訪時(shí)表示,其實(shí)大家質(zhì)疑鴻蒙是不是Android換個(gè)殼,說(shuō)明中國(guó)科技界對(duì)軟件開(kāi)源的理解不夠一致。
他補(bǔ)充稱(chēng),并不是所有Android代碼都是Google開(kāi)發(fā)的,絕大部分代碼來(lái)自開(kāi)源社區(qū)。鴻蒙也會(huì)吸收社區(qū)優(yōu)秀技術(shù)和代碼,使用AOSP(Android 開(kāi)源項(xiàng)目)的開(kāi)源代碼,就判斷鴻蒙是Android換了皮,說(shuō)明這類(lèi)吐槽者沒(méi)有太準(zhǔn)確理解什么是開(kāi)源。
他強(qiáng)調(diào),鴻蒙OS的出現(xiàn),不是為了應(yīng)對(duì)美國(guó)制裁而做的替代系統(tǒng),而是在2016年就立項(xiàng)開(kāi)發(fā),它是真正面向未來(lái)IoT時(shí)代的一個(gè)全景操作系統(tǒng)。
事實(shí)上,相比其他移動(dòng)系統(tǒng),鴻蒙系統(tǒng)的區(qū)別的確相當(dāng)大。從硬件載體上來(lái)說(shuō),市面最大的iOS和安卓主要面對(duì)的是手機(jī)和平板,鴻蒙則可搭載在電視、手表、汽車(chē)、智能家居等任何IoT設(shè)備之上。
華為方面強(qiáng)調(diào),鴻蒙OS與傳統(tǒng)的iOS、Android系統(tǒng)的概念不同,其定位是萬(wàn)物互聯(lián)時(shí)代的操作系統(tǒng),面向的是全場(chǎng)景,包括智能穿戴、家用電器、汽車(chē)、電視等。
華為消費(fèi)者業(yè)務(wù)軟件部副總裁楊海松曾指出,HarmonyOS最終目標(biāo)就是要幫助開(kāi)發(fā)者,讓開(kāi)發(fā)跨端應(yīng)用像開(kāi)發(fā)單端應(yīng)用一樣簡(jiǎn)單!
為了實(shí)現(xiàn)這一目標(biāo),發(fā)布了三大組件,即分布式應(yīng)用框架、分布式UI框架,以及DevEco Studio工具平臺(tái)。他強(qiáng)調(diào),“HarmonyOS在設(shè)計(jì)之初,就是面向未來(lái)萬(wàn)物互聯(lián)時(shí)代的操作系統(tǒng)。HarmonyOS的對(duì)手不是安卓,也不是iOS,而是萬(wàn)物互聯(lián)時(shí)代的生態(tài)枷鎖。
分布式應(yīng)用框架:一次開(kāi)發(fā)多端部署。HarmonyOS 2.0手機(jī)應(yīng)用開(kāi)發(fā)者Beta版,通過(guò)分布式應(yīng)用框架以及15000多個(gè)APls,將復(fù)雜的設(shè)備間協(xié)同封裝成簡(jiǎn)單接口,實(shí)現(xiàn)了一次開(kāi)發(fā)、多端部署的特性,避免了開(kāi)發(fā)者在不同設(shè)備之間的重復(fù)開(kāi)發(fā)。
分布式UI框架:讓開(kāi)發(fā)效率倍增。分布式UI框架可以提供拉伸、縮放、隱藏、折行、均分、占比、延伸7類(lèi)自適應(yīng)布局能力,極大地提高了跨端UI開(kāi)發(fā)效率;同時(shí),針對(duì)各類(lèi)不同設(shè)備有不同交互方式,HarmonyOS的歸一化控件設(shè)計(jì),還能讓開(kāi)發(fā)者只需關(guān)注交互本身,助力跨端交互開(kāi)發(fā)。
DevEco Studio:輕松跨端開(kāi)發(fā)調(diào)試。全新版本的集成開(kāi)發(fā)工具DevEco Studio 2.0 Beta3具有四大功能:一是集成了9套手機(jī)應(yīng)用模板,覆蓋新聞、購(gòu)物等應(yīng)用場(chǎng)景,可減少代碼輸入1000多行;二是具有多端界面預(yù)覽和實(shí)時(shí)反饋功能,開(kāi)發(fā)者可以實(shí)時(shí)看到多個(gè)界面的預(yù)覽效果,讓前端開(kāi)發(fā)效率倍增;三是分布式調(diào)試,可在分布式的應(yīng)用開(kāi)發(fā)過(guò)程中進(jìn)行錯(cuò)誤診斷,針對(duì)異常代碼進(jìn)行故障分析與定位解決等;四是支持20多種器件及傳感器逼真模擬,包括連續(xù)導(dǎo)航、連續(xù)計(jì)步,以及移動(dòng)網(wǎng)絡(luò)(接收短信/來(lái)電)等場(chǎng)景,模擬仿真無(wú)限接近真機(jī),讓?xiě)?yīng)用開(kāi)發(fā)者的跨端開(kāi)發(fā)與調(diào)測(cè)效率大增。
實(shí)測(cè)鴻蒙與安卓的區(qū)別
實(shí)際上,有網(wǎng)友實(shí)測(cè)過(guò)鴻蒙與安卓的區(qū)別:
開(kāi)發(fā)工具:鴻蒙使用基于 Intellij IDEA 深度定制研發(fā)的 DevEco Studio 作為其開(kāi)發(fā)工具。
那么,在應(yīng)用開(kāi)發(fā)過(guò)程中,HarmonyOS(鴻蒙)和 Android(安卓)開(kāi)發(fā)環(huán)境有什么不同吶?
一、HarmonyOS 項(xiàng)目和 Android 項(xiàng)目對(duì)比:
1.資源目錄的變更
?、儋Y源目錄名稱(chēng)有更改。
安卓 res 目錄,鴻蒙用 resources 目錄,包括 base 和 rawfile 兩部分,其中 base 是核心的資源目錄,常用的都放在這里面,便于查找和使用。rawfile 會(huì)原封不動(dòng)打包到生成的應(yīng)用里面。
安卓是 res/values 目錄,鴻蒙是 resources/element 目錄。
安卓 raw 目錄,鴻蒙用 rawfile 目錄。
?、谫Y源目錄分門(mén)別類(lèi),統(tǒng)一管理。
Android 目錄結(jié)構(gòu)就比較松散,沒(méi)有統(tǒng)一的文件夾管理,res/values 目錄里面可以創(chuàng)建各種資源的 xml 文件,只能去官網(wǎng)查看有哪些可以創(chuàng)建。
鴻蒙有 base 目錄統(tǒng)一管理。
③部分資目錄刪除,新增一些資源目錄類(lèi)型。
比如 float.json 文件,plural.json 文件,profile 文件夾等。
④編寫(xiě)方式有改變,xml 變更為 json。
安卓的 values 里面是 xml 寫(xiě)的,鴻蒙是 element 目錄里面的,都是 json 格式的。
同類(lèi)型資源對(duì)比圖:
完整的資源目錄的具體變更對(duì)比如下圖所示:
2.配置文件的變更。
清單文件 AndroidManifest 變成了 config.json 文件。
3.Java 代碼的變更
完整的 Java 目錄的變更對(duì)比如下圖所示:
二、HarmonyOS 項(xiàng)目和微信小程序項(xiàng)目對(duì)比
完整的 JS 目錄和微信小程序?qū)Ρ热缦聢D所示:
相信在代碼完全公開(kāi)之下,鴻蒙OS是否是安卓套殼能夠得到明確的驗(yàn)證。
結(jié)語(yǔ)
PC時(shí)代稱(chēng)王的操作系統(tǒng)是微軟,移動(dòng)互聯(lián)網(wǎng)時(shí)代安卓和蘋(píng)果二分天下,物聯(lián)網(wǎng)時(shí)代誰(shuí)是最終贏家,還未可知。
但無(wú)論鴻蒙能否最終實(shí)現(xiàn)一統(tǒng)物聯(lián)網(wǎng)系統(tǒng)的構(gòu)想。在國(guó)產(chǎn)操作系統(tǒng)幾近空白的情況下,鴻蒙的誕生和可用,本身已是抵御危機(jī)的一個(gè)里程碑。