CSSチームが運営するHTML5・CSS3情報サイト

HTML5 GOGO

ボーズ・オンラインストア

Mckee

第31回 HTML5とか勉強会に参加しました!
今回は開始時刻ちょうど位に会場に到着したのですが、
既に満席で壁際に椅子をご用意頂いて、
そちらで参加させていただきました。ありがとうございました!
席取りはお早めに!以下、レポートです。

アジェンダ:
MVCフレームワークのご紹介(15分×4組=60分)
Backbone.js・・・清水大輔さん(NHN Japan)
Spine.js入門・・・村田 賢一郎さん(Acroquest Technology)
Playing With Ember.js・・・斉藤 祐也さん(サイバーエージェント)
Angular.js・・・北村 英志さんさん(グーグル)
全員参加の座談会:40分 モデレータ:新野淳一さん(publickey)
質疑応答など10分

JavaScript MVC フレームワーク全般

Backbone.js, Spine.js, Ember.js, Angular.js、どれもJSライブラリの使用が標準的で、
印象としては「細かい記述が必要だが、その分小回りが効いて軽量」
「手軽にリッチな機能を提供してくれるが、本体が巨大」という2つにわかれる感じです。
もちろんそれぞれに特徴があり、向き不向きというのもあるそうです。

JavaScriptのフレームワークが登場するなんて、
JavaScript界隈の賑わいは、本当に目覚ましいですね。
以下、それぞれまとめです。

Backbone.js

基本的には jQuery や Zept を使用していますが、非常に軽量なフレームワークです。
Backbone conf 2012が開催されることや、node.js + socket.io で サーバサイドのModelと
リアルタイムに連携するという backbone.io の登場など、今後の発展にも期待できるフレームワークのようです。
ドキュメントはやはり英語が多く海外のコミュニティは活発に活動しているそうです。
小さいフレームワークなので、ドキュメント読まずにソース読めば分かりそうだというお話もありました。

清水大輔さんのスライド Backbone.js supply structure to web applications

Spine.js

「Backbone.jsにインスパイアされて開発された」というSpine.js。依存ライブラリはなしだそうですが、
jQuery or Zept の使用が推奨です。「非常に軽量」でかつ「CoffeeScript」の記述に対応している
というのが特徴です。
また「Spine.app」アプリケーションの自動生成ツールがあり、Controller, Model を自動で生成して
くれます。CakePHPのBakeっぽいやつかなと想像しています。
こちらもドキュメントは英語が主なそうですが、本家のドキュメントは充実していて例もあるようです。
Spine Mobile というモバイル用フレームワークもあるようでモバイル向けにも活用できそうです。

村田賢一郎さんのスライド Spine入門

Ember.js

2011から登場という非常に若いフレームワークで、MobileMeなどで使用されているSproutCore
ベースとなっています。
「双方向データバインディング」、つまりモデルのデータを変えると自動的にビューまで変わる、
逆もまたしかりという機能を含んでいます。
主なコミュニティはGitHub内に存在していて、若いプロジェクトなのでドキュメントが少ないのが現状だそうです。
ソースを読んで覚えるような形になるのではというはお話でした。

斉藤祐也さんのスライド Playing with Ember.js

Angular.js

Ember.js同様「双方向データバインディング」の機能があります。WebComponetns に関わる機能を
持っていて、カスタムタグ、カスタム属性の追加が可能です。こちらもドキュメントは英語が主ですが、サンプルもあるそうです。細かいことをやろうとすると調べるのが大変なこともあったそうです。
プロジェクトはGitHubで公開されていて、開発にはGoogleのエンジニアの方が関わっています。

北村英志さんのスライド Introduction to AngularJS

まとめ

MVCフレームワークということで、どれも習得にはMVCの知識が前提となると思いますが、
あとはフレームワークの流儀を学習すれば、手軽に機能が提供されるというのは、JSであっても
変わらないようです。

終盤の座談会では「双方向データバインディング」を含んでいるタイプと、そうでないタイプとに
大別されていました。
細かいことをやろうとした時に「双方向データバインディング」がなく自分で書いた方が何かと楽だ
ということもあるようです。

そのためフレームワークの選定については、プロジェクトの規模や小回りの効きやすさなどから、
「双方向データバインディング」があるかないか、あとはフレームワークそれぞれの特徴から選定するというのがポイントになりそうです。

HTML5とか勉強会では、9月8日(土)に「HTML5カンファレンス」という大規模な開発者・制作者向け
イベントが開催されるそうです。参加は無料だそうです。
現在は告知サイトにてボランティアスタッフの募集とスポンサーの募集を受け付けているようです。

http://events.html5j.org

実際のカンファレンスへの参加募集は8月11日(土)を予定しているそうです。
今から非常に楽しみです!

Subscribe:
pagetop