關於 B2G 計畫,以及 Web 的誤解

過去的幾個月中,我常在不同的場合被問到一些關於 Boot to Gecko(B2G)專案的問題。我想在這裡整理一下一些常見的,以及對於 Web 本身的誤解做為解答。

誤解 #1:Boot to Gecko 是另一個手機 APP 開發平台

錯!如果想在 B2G (或任何有瀏覽器的手機、平板)上面執行您的 APP,只需要將程式放到你我都熟知的 Web 上就行。

B2G 的目標是開機就到網路(Boot to the web)。此計畫希望能讓全民共有的 Open Web,在技術上能和其他手機 APP 平台競爭。對現有的 APP 開發商來說,Web 的確是另一個需重新開發的平台(您必須要把 Obj-C/Java 的程式移植到 Web),但好處是移植後的程式就真正的跨平台了,不只是 B2G APP、PhoneGap APP、或 Metro-style Windows 8 APP,所有平台的使用者只要輸入網址都能夠使用。此外,在 Web 上散佈程式也讓您不再受任何平台廠商的控制,畢竟 Web 並不是任何廠商的私有平台。

誤解 #2:執行 B2G 的手機沒網路就不能用

雖然說 B2G 上的所有程式,包含主畫面,都是網站,但離線存取的能力卻可以非常簡單的用 HTML5 Offline AppCache 技術實作。這是一個目前就可以在 Web 上使用的技術,許多桌面與手機瀏覽器都已經可以支援了。您唯一需要認真處理的事情,是要確定您的 APP 到底有多需要網路連線。即便是 iOS、Twitter 或是 Facebook APP 在沒有網路的情況下也是沒有用的。您應該要在程式架構中清楚的切分資源檔以及線上即時的資訊,畢竟,Web App 已經不只是個網站而已了。

誤解 #3:就使用者體驗的觀點,Web 比「原生應用程式」差

這是一個筆者強烈反對的論點。若要說今日的手機瀏覽器比手機原生應用程式差,唯一的原因只是因為平台開發廠商不願意花費心力在瀏覽器開發上。開發瀏覽器對平台廠商是有利益衝突的。而限縮硬體 API 存取,除了權限管理的因素以外,也是因為同樣的原因。在 Mozilla,我們可以證明投入足夠的工程心力後,手機瀏覽器(或稱為 Web runtime),可以在行動裝置上順暢執行,提供所謂的「原生體驗」。對於使用 B2G 或是 Chrome OS 作業系統的裝置來說,所謂的原生程式就是 Web APP,無論是有意或無意的,實在沒有理由讓它執行緩慢。

誤解 #4:在 B2G 上面執行的 Web APP 只能在 B2G 或是有 Mozilla Web API 的環境執行

這個說法不算全錯。如果需要特定的硬體存取,例如手機簡訊資料庫或是電話撥號,一開始 B2G 的確是唯一有提供這些功能的環境。不過,我們設計這些 Web API 的初衷就是希望它們最後能被標準化,同時,我們也和標準組織合作,讓這些 API 規格能夠完整、清楚,方便其他的廠商實作。舉例來說,我們的 Web API 並不是放在 PhoneGap.*Windows.*、或是 Ti.* 物件底下,而是原本該放的那些地方,例如 navigator.* (不過因為這些 API 目前都是實驗功能,都帶有 moz prefix,所以還是建議在程式碼內做好功能偵測)。

如果您的 APP 是使用在包裹到原生平台方案執行,那您的 APP 才會永遠仰賴那些包裹程式提供的 API。Mozilla 認為您應該在 Web 上開發與散佈 Web APP。

誤解 #5:把 APP 放在 Web 上等於是免費提供,開發者沒有辦法藉此營利

是呀,說的好像從來沒有人因為在 Web 上提供服務或是應用,而賺大錢變成億萬富翁一樣。

在 Web 上有無數的商業營利方法,當然有除了向使用者乞求 US$0.99 以外的方式。沒有錯,現在看起來,封閉的平台,以及單一的「App Store」散佈管道的確能有效的為開發者帶來營收(但同時在平台取走 30% 的處理費),不過 Mozilla 相信,無論是開發者或是使用者,選擇權是更重要的。

Mozilla 同時也在探索 Web 上更有效的營利與散佈模式。我們有 Open Web App 計畫,以及 Mozilla Marketplace 網站。這兩個計畫從設計開始都深深的嵌入了「給予選擇」這個目標,無論是瀏覽器內的 App API 或是店面服務網站,以及使用者認證與授權的系統(這是 Mozilla Persona,過去稱為 BrowserID 的研究範圍)

結論

就像 Mozilla 開發 Firefox 時所希望的目標一樣,我們希望生產出很棒的產品去影響市場,進而由市場去影響其他廠商。沒有人擁有 Web,也沒有人應該獨佔 Web。Mozilla 並不是以賺錢或是成為市場霸主為目標,而是將目標放於把 Web 導向好的方向,讓 Web 在未來數個世紀能繼續帶給人們創新與機會。

Opera Software 的 CTO,Håkon Wium Lie 曾說 Web 會至少延續 500 年以上,對人類文明、社會有像古騰堡活版印刷術之於歐洲社會一樣的衝擊。筆者完全同意他的看法,即便是就如他在同樣的訪問所說的,你我都不可能活到那個時候去評斷對錯。讓我們一起努力來把 Web 變得更好吧。

澄清:此文章為筆者的個人發言,不盡然代表 Mozilla 或是 Mozilla 公司立場。

Original post in English can be found here.

您可能也會喜歡

目前找不到相關文章

共 6 則讀者回應

  1. 參照: Common misconceptions about Boot-to-Gecko, and the Web | Blog: timdream

  2. 參照: Firefox OS (B2G) – 改變你,改變世界! | Mozilla Tech | 謀智台客

  3. B2G是個有趣的project,負有為全人類提供方便豐富的網路活動盡力的責任,這個方向以前曾經想過,但沒想到現在要成為現實了。

    文中提到的appcache功能,因為manifest語法的功能可以讓cache不會過期,且manifest可以設定將web page及resource(image、css等)全都cache下來,那安全性上會不會有問題?
    例如發現某個網站上的external js engine很有趣,想下載來研究,但是下載被阻擋了,用了appcache的功能,是不是就能下載了?

    • Hi Ryan,

      AppCache 的資源在本機的安全性就跟所有網頁在磁碟的 cache 資料一樣安全(或是不安全)。

      你提到的下載阻擋與 AppCache 聽起來是無關的。

      Tim

  4. 參照: Firefox OS (B2G) – 改变你,改变世界! | col0r| 关注firefox os

  5. 參照: 关于B2G计画,以及网络的误解 | col0r| 关注firefox os

對此文章發表回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *