Ember.jsに向いていること

http://www.infoq.com/presentations/emberjs-url

1 comment | 3 points | by WazanovaNews 約3年前 edited


Jshiike 約3年前 edited | ▲upvoteする | link

ブログプラットフォームのオープンソースプロジェクトGhostのadmin機能の開発フレームワークをどうするかという議論がGitHub上で行われています。これを書いている時点でコメントが98件ありあまりに長いので詳細割愛しますが、Backbone.js / AmgularJS / Ember.jsなどの比較検討をしています。

モデレーターが最初に & 途中で、何が課題で、何を議論するべきで、どのような情報が必要か、そしてどのように議論を進めるのか、このようにしっかり定義しているので、健全にかつ活発に議論が進んでいて、各フレームワークのコア開発者もコメントを寄せています。リモートワークも含めて非同期に仕事を進める機会が増えていく中で、書くコミュニケーションの大切さは色んなところで言われてますが、このレベルが求められているのだなといういいお手本かと。

さて、話しをタイトルの件に戻すと、上記の議論の中でSam Selikoffが、

  • Backbone.js: Minimal solution / High flexibility
  • AngularJS: Midsize solution / Moderately flexible
  • Ember.js: Comprehensive solution / Low flexibility

Ghostは包括的なソリューションを求めていることは明らかで、Backbone.js + ReactもしくはAngularJS + non-Angularのモジュールでもできるかもしれないが、….Backbone.jsとAngularJSはもっと多目的で、開発者コミュニティも多様、….Ember.jsは野心的な(複雑な)webアプリの開発に向いていて、それが、ちょっと皮肉っぽいかもしれないが、Ember.jsがうまくやれる一つのこと。

というコメントを残しています。

その前提で、Tom DaleのQCon SFでのプレゼンを見ると、すっきり頭に入ってきました。

Ember.jsは、マルチページの大型アプリ開発に向いている。ショッピングカートのようなシングルページアプリであれば、他のフレームワークの方がよい。Ember.jsは、マルチページのアプリ開発に向いている。

同じページの中に複数のMVCクラスタを置く構成になると、MVCといっても、「どのModel?どのView?どのController?」というのが、すっきり整理できないといけない。それを実現するのが、Ember.jsのURL駆動型なフレームワークであるところ。この特徴は、複雑なアプリを複数のメンバで開発するときには特に役に立つ。

Ember.jsにおけるMVCはアプリのパターンではなく、コンポーネントのパターンである。

全部で44分のビデオですが、重要なポイントとデモは19分以降の最後の25分だけですので、是非ご確認ください。

Discourseという採用ケースもでてきたので、他のフレームワークよりも大きな大型アプリ向けのソリューションというのがEmber.jsのアピールポイントになってきているのですね。

#ember.js

Back