Post2 402085165 碩職一 周宏曄

 Firefox OS介紹與Android行動作業系統比較

  Firefox OS和Android一樣是建立在Linux核心基礎的開放原始碼行動作業系統,其理念是要讓使用者所接觸到的應用都以Web為基礎,一開機就能夠連線上網際網路。Firefox OS使用HTML5技術可透過JavaScript語言與裝置硬體相互溝通,Web開發人員能夠在不同手機平台上開發,基於硬體相容與公開的硬體抽象層,新的應用程式和底層啟動程式碼與Android設備相容。 

  Firefox OS整合開發架構主要分三個層級如圖1所示,Gaia是個HTML5層和使用者介面系統,Gecko為排版引擎和執行期函式庫,Gonk則為底層Linux核心和硬體抽象層。 

  • Gaia:是使用者介面層,網頁 App (包含 HTML5、CSS、JavaScript、圖片、媒體等) 套件,使用W3C制定的標準WebAPI編寫,因此Gaia可以在其他網頁瀏覽器和作業系統上執行。 
  • Gecko:屬於B2G的執行期函式庫,為 App提供執行框架,相關網路堆疊、圖形堆疊、排版引擎、JavaScript虛擬機等組成。 Ÿ
  • ŸGonk:包含 Linux kernel、硬體抽象層(HAL),HAL一部分是與Android專案共享:GPS、camera…等。

圖1 Firefox OS架構圖 

  依上方簡述得知Firefox OS以Linux核心為基礎與Android相似同為開原碼,從技術角度來看Firefox OS是基於Android來啟動,底層架構中的Gonk層和Gecko層採用了類似Android的公開硬體抽象層,且其很多接口與Android中的相同。使用者介面部份建立於Web應用之上,提供許多新設備或行動相關Web接口,協助Web應用開發者學習和使用。在Web應用中容易讓人產生誤解,假若在沒有網路的情況下應用與網路之間的關聯是否就無法使用,這部份HTML5提供了離線暫存機制,開發者可以透過使用APP暫存接口,指定瀏覽器應該將哪些資源儲存下來,這樣即便在沒有網路的狀態下,只要使用者點擊了更新鍵,App也能讀取暫存資訊並正確地運行。 

  根據Android與Firefox OS的共通性及差異性做出簡易對照如表1,同為行動裝置作業系統以Linux核心為基礎的開放原始碼,Android目前版本是4.3 (Jelly Bean)而Firefox OS的版本則是發行到1.1.0 代稱Leo,開發程式語言Android底層用C、C++開發,上層應用程式則是使用Java開發,Firefox OS最底層與Android相同也是Linux kernel層使用C++語言開發,中介層HTML5、CSS和JavaScript, 使用者介面部份由於是以Web為基礎應用所以仍以HTML5、CSS和JavaScript為開發語言。

      針對現行智慧型手機市場Apple與Android已佔大宗,不經疑惑Firefox OS是否能順利打入行動系統領域,雖然Apple是智慧型行動裝置的領航者,但根據Gartner市場分析的數據顯示發現一有趣現象,Android系統於2013年第一季市佔率達74.4%,遠比Apple的iOS市佔率18.2%高出許多。不過Mozilla公司開發  Firefox OS並非以打敗iOS為目標,其目的是想帶給使用者一款基於Web的行動裝置,與Android入門裝置機價格相當,再者HTML5領域開發人員遠超過Android和iOS,以開發時程而言Firefox OS相對資源較廣,並於一份未發表之學術文章中發現,以相同擁有Android與HTML5開發背景的人員進行測試,同樣的程式應用在HTML5開發時間是較為快速的。 

      前述部份看似Firefox OS較佔盡優勢,但別忘了行動裝置不只是軟體足以構成,仍需考量於硬體設備支援與其穩定性,再回歸到軟體面應用程式採Web開發雖快速,基於開原碼與網路便利安全性問題還有待考驗,且雖然HTML5提供了離線暫存機制,有助於開發者與使用者讀取暫存資訊,但以網頁瀏覽與影片播放為例整體效能與效果仍較原C++語言開發遜色,綜合以上結論Firefox OS未來發展值得期待,也有諸多硬戰需克服是否能持續進步發展還是個未知數?   

 

參考資料: 

Wikipedia-Firefox OS

http://zh.wikipedia.org/wiki/Firefox_OS 

Mozilla Developer Network- Firefox OS architecture 

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture 

Wikipedia-Android 

http://zh.wikipedia.org/wiki/Android 

Wikipedia-行動作業系統比較 

http://zh.wikipedia.org/zh-tw/%E7%A7%BB%E5%8A%A8%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%AF%94%E8%BE%83 

Gartner Says Asia 

http://www.gartner.com/newsroom/id/2482816 

Júnior, V. F., Degrossi, L. C., da Silva, J. D. P., & Barbosa, E. F. (2013). A comparison of implementation time: Android vs. HTML5.  

http://cibse2013.ort.edu.uy/presentaciones/ESELAW/Falvo_Castro_DaSilva_Francine.pdf