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에 번들로 넣은 것은 대상 사용자가 이미 있는 곳에서 도구를 발견하게 했다. 브라우저 자체가 플랫폼의 홍보가 된 것이다.

생태계를 키우려면 통제하는 제품 안에서 첫 단계의 비용을 0으로 줄이고, 나머지는 모두 플러그인 가능하게 만들어 기존 사용자가 자신의 워크플로를 유지하게 하라.

WebIDE는 2014년 6월 23일 Firefox Nightly에 Tools > Web Developer > App Manager로 탑재되었고, 다음 빌드에서 환경설정 토글 뒤에 WebIDE로 이름이 바뀌었다. Hacker News에서 489점과 댓글 151개를 얻었다. 테마 제작자들은 테마를 업데이트했고, 사용자들은 vim이나 Sublime 키맵을 전환했으며, 한 댓글 작성자는 자신의 라이브 프리뷰 편집기가 필요 없게 되었을지도 모른다고 말했다. 비판자들은 브라우저 비대화라고 불렀고, 팀은 도구를 열지 않는 한 성능에 거의 영향을 주지 않는다고 말했다. Mozilla는 Chrome for Android와 iOS의 Safari용 프로토콜 어댑터를 계획하고 더 많은 커뮤니티 스타터 템플릿을 초대했다.

근거 확인하기

출처

  1. WebIDE lands in Firefox Nightly Mozilla Hacks · hacks.mozilla.org ·
  2. Hacker News discussion: WebIDE lands in Firefox Nightly Hacker News · news.ycombinator.com ·