取代安卓?谷歌新系統(tǒng)Fuchsia OS即將殺青,詳解C、C++等與Go的優(yōu)劣勢(shì)對(duì)比
Fuchsia OS 作為 Google 正在開(kāi)發(fā)的實(shí)驗(yàn)性操作系統(tǒng),引發(fā)了大眾很多猜測(cè),比如其將取代 Android 系統(tǒng)。
實(shí)際上,這是谷歌開(kāi)發(fā)的繼 Android 和 Chrome OS 之后的第三個(gè)操作系統(tǒng),并且是一個(gè)「非 Linux 系」的系統(tǒng),采用了谷歌全新微內(nèi)核 Zircon,并使用 Dart 和 Flutter 打造全新的 UI。
據(jù)外媒最新報(bào)道稱,目前 Fuchsia OS 的工作已經(jīng)基本完成,經(jīng)過(guò)谷歌內(nèi)部的「狗糧」測(cè)試流程后,就將正式面向市場(chǎng)。
Fuchsia OS 是什么?
雖然谷歌并未正式公布過(guò) Fuchsia 在谷歌的戰(zhàn)略地位,但據(jù)彭博社的報(bào)告推測(cè),F(xiàn)uchsia 是谷歌試圖使用單一操作系統(tǒng)去統(tǒng)一整個(gè)生態(tài)圈的一種嘗試。
Fuchsia 的目標(biāo)是能夠基于谷歌的生態(tài),運(yùn)行在智能手機(jī)、智能音響、筆記本電腦等任何合適的設(shè)備之上。據(jù)內(nèi)部消息人士透露,谷歌計(jì)劃在未來(lái)三年內(nèi),先讓 Fuchsia 在智能音響和其他智能家具設(shè)備上運(yùn)行起來(lái),然后再轉(zhuǎn)移到其他的終端設(shè)備上,并最終取代 Android 成為世界上最大的移動(dòng)操作系統(tǒng)。
取代 Andriod 在很多人看來(lái)是無(wú)稽之談,但了解 Andriod 背景情況的人就不難理解,因?yàn)?Andriod 存在著很多無(wú)法解決的弊端。
事實(shí)上,Android 早在 iPhone 發(fā)布之前就已經(jīng)構(gòu)建好了,最初是被用作數(shù)碼相機(jī)的操作系統(tǒng)。iPhone 發(fā)布后,Android 才被臨時(shí)移植到手機(jī),并一直沿用至今。
但隨著互聯(lián)網(wǎng)的發(fā)展,尤其是物聯(lián)網(wǎng)和 5G 的逐漸開(kāi)始落地,谷歌在 Android 上面臨許多挑戰(zhàn)。例如,Android 大部分內(nèi)容并不符合谷歌對(duì)智能設(shè)備的未來(lái)期望,比如語(yǔ)音交互方面、為整個(gè)安卓生態(tài)系統(tǒng)內(nèi)的設(shè)備推送更新等,而 Fuchsia 的出現(xiàn)就是為了解決這些問(wèn)題。
但替代 Andriod 一定是一個(gè)緩慢且漫長(zhǎng)的過(guò)程。目前市面上很多的手機(jī)和智能硬件廠商都還非常依賴于 Android,這是谷歌不得不考慮的問(wèn)題。
如果谷歌真的開(kāi)始大力推進(jìn) Fuchsia 的市場(chǎng)化,這對(duì)于整個(gè)智能終端市場(chǎng)來(lái)說(shuō)都是一個(gè)艱難的轉(zhuǎn)折變化。谷歌也將面臨著市場(chǎng)流失的風(fēng)險(xiǎn)。
Fuchsia 編輯語(yǔ)言策略
Fuchsia 的開(kāi)發(fā)者網(wǎng)站上公布了一份 Fuchsia 編輯語(yǔ)言策略,該文檔對(duì) Fuchsia 涉及到的編程語(yǔ)言分別進(jìn)行了優(yōu)缺點(diǎn)分析以及對(duì)各語(yǔ)言的使用策略。
從該文檔中我們能夠了解到該系統(tǒng)的設(shè)計(jì)目的、思路和未來(lái)的發(fā)展方向。比如其對(duì) C 語(yǔ)言的解讀是這樣的:
優(yōu)點(diǎn):
- C 是一種廣泛使用的語(yǔ)言。該語(yǔ)言具有易于理解的特性,已在很長(zhǎng)一段時(shí)間內(nèi)保持穩(wěn)定,并且過(guò)去已用于構(gòu)建類似的系統(tǒng)。該語(yǔ)言具有成熟的工具鏈和相關(guān)的開(kāi)發(fā)人員工具;
- C 具有穩(wěn)定的 ABI,這使得 Fuchsia SDK 包含預(yù)編譯的二進(jìn)制文件,供最終開(kāi)發(fā)人員重復(fù)使用;
- 許多語(yǔ)言可以使用外部函數(shù)接口與 C 互操作。支持 C 可使最終開(kāi)發(fā)人員更輕松地將這些語(yǔ)言與 Fuchsia 集成在一起;
我們目前的最終開(kāi)發(fā)人員已經(jīng)在使用該語(yǔ)言。
缺點(diǎn):
- 對(duì)異步編程的支持很弱。;
- 用該語(yǔ)言編寫(xiě)的程序通常會(huì)由于該語(yǔ)言缺乏內(nèi)存安全性而導(dǎo)致安全漏洞。
- 用該語(yǔ)言編寫(xiě)的程序經(jīng)常包含資源泄漏,因?yàn)樵撜Z(yǔ)言沒(méi)有提供自動(dòng)釋放資源的功能;
- 與 C ++ 相比,類型安全性較弱。簡(jiǎn)單地將某些 C 代碼重新編譯為 C++ 通常會(huì)導(dǎo)致編譯器錯(cuò)誤,這些錯(cuò)誤會(huì)掩蓋代碼中的潛在錯(cuò)誤。
使用策略:
- 終端開(kāi)發(fā)者支持使用 C;
- 在 Fuchsia Platform Source Tree 中,不鼓勵(lì)使用 C 的新用法;
- C 被批準(zhǔn)用于 Fuchsia Platform Source Tree 中:用于低級(jí)系統(tǒng)編程,包括內(nèi)核中的編程;以及用于定義到共享庫(kù)和其他系統(tǒng)組件的 ABI 穩(wěn)定接口;
因?yàn)槲臋n內(nèi)容較多,就不一一列舉了,文末有文檔的鏈接地址。總結(jié)一下大概就是:
- C:被支持用于終端開(kāi)發(fā)者
- C++:被支持用于終端開(kāi)發(fā)者
- Dart:被支持用于面向非驅(qū)動(dòng)程序的終端開(kāi)發(fā)者
- Rust:終端開(kāi)發(fā)者不支持使用 Rust
- Go:僅被批準(zhǔn)在網(wǎng)絡(luò)技術(shù)棧中使用
- Python:終端開(kāi)發(fā)者不支持使用 Python
- Fuchsia 即將進(jìn)入「狗糧」測(cè)試
除了正常的公開(kāi)測(cè)試階段(如 Alpha 和 Beta)外,Google 還有很多內(nèi)部測(cè)試階段,比如「dogfood(狗糧)」。
「狗糧」測(cè)試期,意思是讓開(kāi)發(fā)者親自安裝使用操作系統(tǒng),通過(guò)測(cè)試找到缺點(diǎn)和不足,這個(gè)階段設(shè)置在普通用戶測(cè)試之前。
說(shuō)個(gè)題外話,谷歌的測(cè)試流程真的很有意思。
除了「狗糧」外,谷歌還有相當(dāng)多的內(nèi)部測(cè)試階段,例如當(dāng) Google + 還處于早期開(kāi)發(fā)階段時(shí),在進(jìn)行全公司范圍的「狗糧測(cè)試」之前,他們做了一個(gè)小范圍的「fishfood(魚(yú)食)」測(cè)試...
此外,谷歌有時(shí)在「魚(yú)食」和「狗糧」之間還有一個(gè)范圍稍微大一點(diǎn)的「teamfood(團(tuán)隊(duì)食品)」測(cè)試階段,「狗糧」通常是在生產(chǎn)或公開(kāi)測(cè)試之前的最后一個(gè),幾乎是全公司的內(nèi)部測(cè)試。
在過(guò)去的一年里,有跡象表明至少部分 Fuchsia OS 系統(tǒng)已經(jīng)通過(guò)了「魚(yú)食」和「團(tuán)隊(duì)食品」的測(cè)試,馬上就要進(jìn)行「狗糧」階段的測(cè)試。
雖然還未正式開(kāi)放,但目前已有很多企業(yè)加入了 Google Fuchsia 生態(tài)。據(jù) Fuchsia 中文社區(qū)官方發(fā)布,目前可以公布的 14 家公司的名單是:索尼、三星、華為、OPPO、Vivo、夏普、ARM、高通、聯(lián)發(fā)科、Imagination Technologies、意法半導(dǎo)體、小米、清華紫光展訊、GlobalEdge Software。
從上面可以看到中國(guó)公司是最多的,光大陸就已經(jīng)有了 5 家公司,如果算上聯(lián)發(fā)科,中國(guó)公司將有 6 家,絕對(duì)是目前 Fuchsia 生態(tài)參與最多的國(guó)家。而 Google 的母國(guó)美國(guó)反而只有高通一家公司。
國(guó)產(chǎn)操作系統(tǒng)進(jìn)展如何?
上文我們寫(xiě)到,有很多國(guó)內(nèi)企業(yè)參與了谷歌 Fuchsia 生態(tài),這是放棄了自研操作系統(tǒng)么?并不是,可能只是無(wú)奈之舉和一種更為泛化的嘗試策略。
在很長(zhǎng)時(shí)間里,國(guó)產(chǎn)操作系統(tǒng)一直都處于一個(gè)尷尬的境地,尤其是 2006 年的那一起「國(guó)產(chǎn)系統(tǒng)造假事件」,讓市場(chǎng)和大眾輿論對(duì)國(guó)產(chǎn)操作系統(tǒng)的風(fēng)評(píng)降入谷底。當(dāng)時(shí)也有業(yè)內(nèi)人士表示,很多國(guó)產(chǎn)操作系統(tǒng)廠商的出發(fā)點(diǎn)只在于獲取國(guó)家的補(bǔ)貼,對(duì)于實(shí)際的研發(fā)和能否商業(yè)化只是“走個(gè)過(guò)場(chǎng)”。
然而,隨著全球局勢(shì)的變化,對(duì)于成熟且自主可控的國(guó)產(chǎn)操作系統(tǒng)還有自主研發(fā)芯片的需求已經(jīng)迫在眉睫。近兩年我們也能看到,市場(chǎng)關(guān)于國(guó)產(chǎn)操作系統(tǒng)的聲音已經(jīng)越來(lái)越大,因?yàn)樵絹?lái)越多的關(guān)注和國(guó)內(nèi)廠商的投入,也正在逐漸有所突破。
2020 年,國(guó)產(chǎn)操作系統(tǒng)能真正取得突破性的進(jìn)展、開(kāi)始占據(jù)一席之地么?我們拭目以待。