移動(dòng)終端操作系統(tǒng)的新趨勢:Boot to Browser
七月初,Mozilla 的 Firefox OS 挾德國電信、Smart、Sprint、意大利電信、Telefonica 和 Telenor 等七大電信運(yùn)營商,中興和 TCL (Alcatel One Touch)兩大設(shè)備制造商的支持隆重問世,一時(shí)間,評論不斷,均在質(zhì)疑在目前移動(dòng)設(shè)備上 iOS 和 Android 平分天下已成定局,微軟的 Window Phone 前景不明的的市場環(huán)境下,F(xiàn)irefox OS 還有沒有機(jī)會(huì)呢?
Firefox OS 的前世今生
FireFox OS 的前身是 Mozilla 的“Boot to Gecko(B2G)”開源項(xiàng)目,于 2012 年的 7 月初更名為 Firefox OS。其主要的技術(shù)特征是以 Linux 為操作系統(tǒng)內(nèi)核,采用 Mozilla 的瀏覽器應(yīng)用運(yùn)行時(shí)環(huán)境技術(shù)構(gòu)建主要的中間服務(wù)層,人機(jī)交互的界面應(yīng)用完全使用 HTML5 的 Web 技術(shù)。其原名“Boot to Gecko”十分形象的描述了這個(gè)操作系統(tǒng)的本質(zhì):系統(tǒng)啟動(dòng)后切換到 Gecko 的 HTML 5 運(yùn)行環(huán)境。從 Boot to Gecko 技術(shù)文檔上看, 系統(tǒng)分成三個(gè)層次。

Gaia:用戶交互層,Gaia 實(shí)現(xiàn)屏幕鎖屏,主界面(Home Screen), 電話撥號(hào)應(yīng)用,短信應(yīng)用,攝像頭應(yīng)用等等。Gaia 完全使用 HTML、CSS、JavaScript 技術(shù)來實(shí)現(xiàn),通過 Gecko 實(shí)現(xiàn)開放的 Web API 訪問底層操作系統(tǒng)。Mozilla 在今年的加入 W3C 的 DAP 項(xiàng)目,攜手標(biāo)準(zhǔn)化組織提供的是跨瀏覽器的標(biāo)準(zhǔn)化 “ 手機(jī) ” 應(yīng)用 API ,將智能手機(jī)設(shè)備上的各種能力和資源以標(biāo)準(zhǔn)化的語法開放,使應(yīng)用可以運(yùn)行在任意的標(biāo)準(zhǔn)瀏覽器系統(tǒng)中(只要瀏覽器支持了足夠多和足夠新的 Web 標(biāo)準(zhǔn) API )。Firefox 的 Gaia,不是采用 Web 語法的應(yīng)用框架、類庫、微件(Widget),而是直接使用 ” 標(biāo)準(zhǔn)的 Web API ” , 在 Mozilla WebAPI 的官方網(wǎng)頁上,可以看到 Mozilla 的 Web API,囊括了電話通信、震動(dòng) API(來自傳感器)、短信 SMS、電源管理、WiFi 管理、聯(lián)系人、藍(lán)牙等等智能手機(jī)上各種能力。
Gecko:B2G 系統(tǒng)的應(yīng)用運(yùn)行時(shí)環(huán)境,Gecko 實(shí)現(xiàn)了標(biāo)準(zhǔn)的 HTML、CSS、JavaScript 在操作系統(tǒng)上的解釋運(yùn)行,由相關(guān)網(wǎng)絡(luò)協(xié)議棧、圖形軟件棧,布局引擎,JavaScript 虛擬機(jī)等部分組成。
Gonk:Gonk 是 B2G 操作系統(tǒng)的底層核心,包括一個(gè) Linux 的核心,以及一個(gè)用戶空間的硬件抽象層( Hardware Abstraction Layer :HAL),Linux 內(nèi)核、libusb 驅(qū)動(dòng)、bluz 藍(lán)牙驅(qū)動(dòng)采用的是通用的開源項(xiàng)目,而用戶空間的硬件抽象層(HAL)則部分來自 Android 的開源項(xiàng)目 AOSP( Android Open Source Project ),例如:GPS、攝像頭 Camera 等等。Gonk 可以看作是一個(gè)特別簡單的 Linux 發(fā)布版本。
Firefox OS 運(yùn)行的目標(biāo)設(shè)備為 Android 的兼容設(shè)備,主要是 ARM 的手機(jī)終端設(shè)備。
瀏覽器功能與操作系統(tǒng)的直接結(jié)合
相對于單純的目前的傳統(tǒng)純?yōu)g覽器 Firefox ,F(xiàn)irefox OS 關(guān)鍵區(qū)別在于 Web 應(yīng)用能夠訪問操作系統(tǒng)的硬件及軟件各種資源,如何將系統(tǒng)的核心資源以安全而簡單的方式向 Web 應(yīng)用開放是一個(gè)核心的問題。在 Firefox OS 此功能主要由核心進(jìn)程 b2g 以及內(nèi)容進(jìn)程 Content Process 完成。(以下描述內(nèi)容來自于 Boot to Gecko 官方開發(fā)文檔,由于是正在發(fā)展中的系統(tǒng),可能會(huì)隨著時(shí)間有所變化)。

b2g 具有最高優(yōu)先級(jí)的系統(tǒng)權(quán)限,能夠直接訪問所有的硬件,例如控制 3G 通信的 Modem ,往顯示設(shè)備的緩存繪制圖像,與 GPS、攝像頭、WIFI 模塊等各種設(shè)備交互等。Content Process 是 b2g 派生出來的子進(jìn)程,用于加載 Web 應(yīng)用以及其他 Web 內(nèi)容,Content Process 具有非常有限的系統(tǒng)資源訪問權(quán)限。Content Process 通過進(jìn)程間信協(xié)議描述語言 IPDL(IPC Protocol Definition Language)定義的遠(yuǎn)程接口與父進(jìn)程 b2g 通信,以獲得對系統(tǒng)受限資源的訪問。
Web 應(yīng)用加載在隔離的 Content Process 中,據(jù)此形成 “ 沙箱(SandBox) ” 。每一個(gè) Content Process 對應(yīng)著一份權(quán)限列表,當(dāng) Content Process 向 b2g 進(jìn)程發(fā)送 IPDL 消息要求訪問某系統(tǒng)資源時(shí),b2g 執(zhí)行權(quán)限檢查,如果超出 Content Process 對應(yīng)的權(quán)限訪問列表,則訪問將被拒絕。
可以看出,b2g 進(jìn)程在系統(tǒng)安全中的核心地位。
Boot to Browser 的移動(dòng)手機(jī)操作系統(tǒng)
Boot to Browser 的操作系統(tǒng)是狹義的 Web OS ,指的是使用 Web 技術(shù)實(shí)現(xiàn)人機(jī)交互的設(shè)備操作系統(tǒng)。同類的操作系統(tǒng)除了 FireFox OS 還有 Chrome OS、Tizen 、以及 HP 的 WebOS ?,F(xiàn)在看來,目前實(shí)現(xiàn)的 Web OS 的一個(gè)基本的技術(shù)特征是:“ Linux inside , HTML 5 outside ”。系統(tǒng)由 Linux 內(nèi)核直接嫁接 HTML 5 的應(yīng)用運(yùn)行時(shí)環(huán)境而成,在操作系統(tǒng)內(nèi)核啟動(dòng)之后切換到 HTML 5 的運(yùn)行時(shí)環(huán)境,由基于瀏覽器的中間層代替原來的 “ 桌面系統(tǒng) ” 接管了人機(jī)交互的界面。于是,” boot to browser “可以總結(jié)這類操作系統(tǒng)的運(yùn)行特征,如果說 Firefox OS 是 “ boot to Gecko ” ,ChomeOS 是“ boot to chrome ”,WebOS 就是“ boot to webkit ”,甚至連 MAC OS X 目前也有 “ boot to safari ”的方式 ( 目前的 “ boot to safari ” 在系統(tǒng)啟動(dòng)之后,就直接進(jìn)入 Safari 的運(yùn)行中,用戶僅僅能夠通過 Safari 進(jìn)行上網(wǎng)操作 ) 。
“Boot To Browser”類型的操作系統(tǒng)減少了從操作系統(tǒng)底層環(huán)境到 Web 應(yīng)用的中間環(huán)節(jié),儼然是未來其中一種移動(dòng)操作系統(tǒng)的類型,目前初見端倪,可以猜測,伴隨著 HTML5 的大熱,每個(gè)瀏覽器都可能發(fā)展成操作系統(tǒng)。
Boot to Browser 新型移動(dòng)操作系統(tǒng)的發(fā)展前景
目前, iOS 和 Android 平分移動(dòng)操作系統(tǒng)的天下,應(yīng)用生態(tài)系統(tǒng)也旗幟鮮明的分成 iOS 陣營和 Android 的陣營,目前大多數(shù)人悲觀的認(rèn)為 Firefox OS 出來的時(shí)機(jī)太晚,無法從成熟的市場上分一杯羹。
但是,作為 Boot to Browser 的操作系統(tǒng) FireFox OS 能否帶來區(qū)別于目前的移動(dòng)智能操作系統(tǒng)不一樣的操作體驗(yàn),進(jìn)而瓜分移動(dòng)智能操作系統(tǒng)的市場呢?個(gè)人的看法是:也許可以提供手機(jī)終端上的 “云應(yīng)用” 桌面。
將應(yīng)用的程序代碼以及數(shù)據(jù)均放在云端平臺(tái),用戶開機(jī)后直接登錄云端平臺(tái),應(yīng)用就像目前的網(wǎng)頁一般,使用時(shí)下載部分的當(dāng)前需要的代碼(HTML、CSS、JavaScript 等)進(jìn)行展現(xiàn),一邊使用一邊下載一邊展現(xiàn),充分發(fā)揮解釋型語言的特點(diǎn),僅僅是正在運(yùn)行的程序一小部分局部占用著移動(dòng)手機(jī)終端的存儲(chǔ)以及計(jì)算資源。
這種云應(yīng)用桌面最大的好處是簡單、安全。首先,正如上網(wǎng)瀏覽網(wǎng)頁一般,用戶不需要有安裝的概念,僅僅有購買和使用的概念。其次,可以解決部分的安全問題,如果某個(gè)應(yīng)用被發(fā)現(xiàn)有安全的漏洞,在官方的云平臺(tái)上發(fā)布升級(jí),則馬上可以在海量的終端上生效,如果某個(gè)應(yīng)用被發(fā)現(xiàn)為惡意軟件,在官方的云平臺(tái)上卸載即可;再次,應(yīng)用的跨終端使用,用戶在任意一臺(tái)支持 HTML5 的設(shè)備上登錄云平臺(tái),均可以使用各種應(yīng)用和內(nèi)容,應(yīng)用的中間狀態(tài)在終端切換中能夠得以保持。
這種云平臺(tái)與瘦終端應(yīng)用密切配合的交互方式,也許會(huì)為對云計(jì)算平臺(tái)籌謀已久的產(chǎn)業(yè)大頭所青睞。讓我們拭目以待。