Mozilla希望Web開發可以取代原生程序
Mozilla 正在構建 WebAPI,一組用于在瀏覽器中調用硬件設備功能的程序接口。而之前,通常只有原生應用才能調用硬件功能。此舉意在開發一套跨平臺解決方案,讓開發人員只編寫一次代碼,就可以在所有移動平臺上運行。
Mozilla 發布了 Boot to Gecko (B2G)項目,希望能夠創建一個類似于 Chrome OS 的 Web 操作系統,此操作系統的目標平臺除了上網本之外,還包括兼容 Android 系統的手機和平板電腦。B2G 將會基于 Gecko 和 Android 技術,目的是擴展 Web 體驗以替代原生應用程序。Mozilla 的策略到底是自己構建操作系統,還是開發相關技術然后讓瀏覽器廠商來集成,目前尚不清楚。在 B2G 的 FAQ中寫到:
Boot to Gecko(B2G) 目前處于初期探索階段,目標是為開放 Web 平臺構建獨立的、完整的操作系統。它不是一個產品,但一旦成功可以作為某些產品的基礎……
B2G 項目不鼓勵只能運行在 B2G 或 Firefox 上的應用程序,這是區別于 B2G 和其他移動平臺的一個重要因素。我們并不希望由此獲得 Mozilla 的競爭優勢,而是希望整個 Web 平臺獲得優勢……
理想情況下,這項技術將會被所有平臺和設備上的移動瀏覽器所使用。我們期待著與其他操作系統和瀏覽器的開發人員一起,為制定標準和實現標準而努力。
B2G 的開發將集中在四個領域:WebAPI,權限模型 -保證 WebAPI 被網頁和應用安全的訪問 -,啟動 -Android 設備啟動器,和應用程序 - 從其它平臺移植或新的應用。
雖然有了 HTML5,但開發人員仍需要以統一的 API 訪問各種硬件功能 - USB、攝像頭、加速儀等-來獲得一致的開發體驗。針對手機的第一組 API 將在 3 到 6 個月之內完成。
WebAPI 將會包含如下部分:
- 撥號:電話和短信 API,聯系人 API
- 地址簿:聯系人 API
- 短信:電話和短信 API,聯系人 API
- 時間
- 攝像頭:攝像頭 API,文件系統 API
- 相冊:基于 FileReader(已經完成)和 FileWriter 的文件系統 API。還有基于 IndexedDB 的文件抽象層。
- 計算器
- 設置:設備狀態 API,設置 API
- 游戲:加速儀 API,鼠標 API
- 地圖:地理信息 API,聯系人 API
當這些 API 被實現以后,開發人員就可以編寫出和原生應用非常相似的 Web 應用,而且不需要為每個移動平臺寫不同的代碼。此項目若想取得成功,需要各大移動平臺廠商的支持。Mozilla 的 Robert Nyman 在官方博客中稱“將會發布 WebAPI 規范的草稿和實現原型,并提交給 W3C 來標準化。”W3C 自己也在開發其中的一些 API,比如地理信息 API,因此不清楚 Mozilla 會提出全新的 API 還是保持已有的、只為跨平臺開發所需要的 API。
然后就等著蘋果、谷歌和微軟擁抱和支持這些 API 了。據 ArsTechnica稱,蘋果對 iOS 開發平臺的最初想法就是基于 HTML,而谷歌以推動 Web 標準化著稱,微軟也在為 Windows 8 打造基于 HTML 5 的用戶界面,其中還包含了在瀏覽器中訪問 PC 機硬件的 API,因此這些公司應該會支持這個想法。最后,就看 W3C 是基于 Mozilla 的 WebAPI 還是其他大廠商的提案來構建標準了。
查看英文原文:Mozilla Favors Web Over Native Application Development