解決方案
Firefox OS 需要應用程式,而每個新平台都面臨同樣的入門問題:沒有簡易的進入方式,就沒有開發者。開發者告訴 Mozilla,他們不確定該如何在網路上開始開發應用程式,因為這意味著要從各種來源下載許多不同的工具與範本。傳統的解決方式,會是再提供一個可下載的 IDE,外加更多設定指南。
Mozilla 反而採用了其受眾早已開啟的那個工具——瀏覽器。WebIDE 隨附於 Firefox Nightly 中:點擊一下即可從可用的範本啟動專案,選擇執行環境就會安裝 Firefox OS 模擬器或連接裝置,而 Ctrl/Cmd+R 便會在該處重新載入應用程式,並附上熟悉的 DevTools。內建的 CodeMirror 編輯器刻意設計為選用項目:一套 API 讓任何外部編輯器都能驅動 WebIDE 的執行環境管理,而整個循環建構在開放的 Firefox Remote Debugging Protocol 之上,並計畫為 Chrome for Android 與 iOS 上的 Safari 提供轉接器。
這項設計消除了入門的兩項實際成本。初學者只需點擊一下,就能取得可運作的藍圖應用程式,而不必花一下午設定,並有應用程式資訊清單驗證器在提交至市集前捕捉問題。對已有經驗的開發者而言,一切不變:內建編輯器可以關閉,而 vim、emacs 或 Sublime 的鍵盤對應可在 about:config 中切換。Mozilla 只保留唯有瀏覽器才能做到的事——執行環境、裝置、遠端除錯——其餘部分則設計為可替換。
Hacker News 的發布討論串——489 分、151 則留言——顯示這套機制確實奏效。留言者稱 WebIDE 對初學者是絕佳的補充,將有助於學校;主題作者在數日內便推出支援;一位即時預覽編輯器的開發者表示,若 WebIDE 早已存在,他或許就不會打造自己的工具。最強烈的反對意見集中在捆綁安裝上,而團隊回應指出,除非開啟,否則這些工具幾乎不影響效能。一位留言者總結道:WebIDE 降低了開發的入門門檻——無需下載 SDK、無需繁瑣的設定或簽署、無需學習新語言。
達成的成果
讓瀏覽器本身成為 SDK:零安裝的範例應用程式,以及一套開放協定,讓開發者不必更換編輯器
為何奏效
開發者早已擁有的瀏覽器就是零安裝的工具:第一個應用程式只需從範本點擊一下,而不必花一下午下載與設定。
將編輯器設為選用,消除了有經驗開發者的轉換成本;否則他們會忽略那些強迫採用新工作流程的平台工具。
一套開放的 Remote Debugging Protocol,並為競爭對手的瀏覽器提供轉接器,意味著這些成果不會被困在 Firefox OS 之中——任何工具都能觸及任何執行環境。
將工具捆綁進 Firefox,讓目標受眾能在他們早已身處的地方發現它,使瀏覽器本身成為該平台的賣點。
可應用的啟示
若要壯大生態系,就在你能掌控的產品內將第一步的成本降至零,然後讓其餘一切皆可外掛,使既有使用者得以保留自己的工作流程。
後續發展
WebIDE 於 2014 年 6 月 23 日隨 Firefox Nightly 推出,位於「工具 > Web 開發者 > 應用程式管理員」之下,並在下一個版本中更名為 WebIDE,置於偏好設定開關之後。它在 Hacker News 上獲得 489 分與 151 則留言:主題作者更新了他們的主題,使用者切換了 vim 或 Sublime 的鍵盤對應,一位留言者表示它或許會讓他的即時預覽編輯器變得不再必要。批評者稱之為瀏覽器臃腫;團隊則表示,除非開啟,否則這些工具幾乎不影響效能。Mozilla 計畫為 Chrome for Android 與 iOS 上的 Safari 提供協定轉接器,並邀請社群提供更多範例範本。
追溯依據
參考來源
- WebIDE lands in Firefox Nightly Mozilla Hacks · hacks.mozilla.org ·
- Hacker News discussion: WebIDE lands in Firefox Nightly Hacker News · news.ycombinator.com ·