usotech

erratic magical world

# Ember.js コアチームへのインタビュー(後編)

http://net.tutsplus.com/articles/interviews/ember-js-core-team-interview/

後編ですが例によってかなり意訳してます。

Ember.js を見ていると Rails の影響を感じるんだけど?

Tom Dale

  • さっきも言ったように URL が Web の重要な特徴。
    • Cocoa のコンセプトをそのまま Web には持ってこれない。
    • SproutCore も Cappuccino もそれをやろうとして失敗した。
  • Rails はフレームワークが URL をどう扱うかを示した。
    • Rails では Model は単に Resource であり, Routes によって公開される。
  • Ember も Rails に倣って URL を中心に置いている。
    • Rails のような CoC もある。

Yehuda Katz

  • Rails の MVC と Ember の MVC は違う。
    • Rails に似ていると感じるのは CoC と命名規約だと思う。
    • 表面的には似ているかもしれないが, そのまま持ってくるのは駄目。
    • でも Router に関しては Rails にかなり近いものになった。

Ember.js を利用する開発者が知っておくべきことは?

Tom Dale

  • Templates は Controller に接続され, Controller は Model(もしくは Collection)に接続される。
    • これらの関係は Router で定義される。
    • アプリを作るときはこれを繰り返す。Template, Controller, Model ...

過去一年間で沢山の API 変更が行われ, Ember を使いたい開発者はメンテが大変だった。これからはどうするつもり?

Tom Dale

  • 1.0 RC リリースした。
    • 2.0 になるまでは互換性は維持される。

Yehuda Katz

  • OSS 開発で好きなパターンは, 1.0 になるまではアーリーアダプタに API 設計をドライブしてもらうこと。
    • 開発者はユースケースに応じてフィードバック出来る。

Discourse がローンチされたけど, どうだった?

Tom Dale

  • 凄いと思った。
    • 開発中のフレームワークを使って 2 人で良く出来たプロダクトを作り上げてるのには唖然とした。
  • 彼らは Ember のパフォーマンス問題にも貢献してくれた。

Yehuda Katz

  • Discourse はレスポンシブなところが好き。
    • こういうのは生の HTML 使わないと作れないって意見が多かった。
    • Discourse はきちんとした URL を担保して Google に見せられるようになってる。

意図的に(Ember の)プロジェクトチームを小さくしてたよね?

(省略)

他の MVC フレームワークが沢山あるけど, Ember を選ぶ理由は?

Tom Dale

  • Ember は強力な規約に基づいてる。
    • 不要な議論を避けることが出来る。

Yehuda Katz

  • Web アプリケーションを作るときに必要とされるのは URL。
    • URL を中心に置いて構造化する。
    • 他のフレームワークも URL をサポートしてるけど, Ember は URL から始まるところが違う。

jQuery や MooTools ではなく, Ember のような MVC フレームワークを選ぶ理由は?

(省略)

Ember が jQuery を使ってる理由は?

(省略)

モバイルで Ember 使うときに考慮すべき点は?

Tom Dale

  • 沢山の会社がモバイルで Ember を使ってると言われている。
  • プロファイラが使えるようにしておくこと。
    • 途中で最適化を考えるよりもホットスポットをプロファイルする方が良い。

Yehuda Katz

  • Ember を使うことによるオーバーヘッドもあるけど, Ember が最適化してくれるところもある。
    • 複数の DOM 操作の結合とか。
    • 例えば Ember ListView は DOM を再利用してくれる。
  • 制限された環境では, 間違いなくパフォーマンスにフォーカスすることになる。
    • Ember 使ってたら高レベルな API 使うことになる。
    • 誰かがパフォーマンス問題に直面したらそれが Ember にフィードバックされる。
    • Ember をバージョンアップするだけでパフォーマンスが向上することもある。

SPA (Single Page Application) 初心者に有用なリソースは?

Tom Dale