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