メモを投下。
MVCフレームワークの選択基準と主要フレームワークの特徴
資料→MVCフレームワークの選択基準と主要フレームワークの特徴
- MVCフレームワーク
- 流行ってて沢山ある
- どうやって選んでいいのでしょうか?
- アプリの要件が大事
- 規模、複雑度、特殊な要件(ガントチャートが必要とかそういうの)
- TodoMVCを実際に写経して選んでみよう
- http://addyosmani.github.com/todomvc/
- 一番しっくりきそうなものを選びましょう
- Backbone.js
- コミュニティが大きいのが特徴
- 実績があるので安心感がある
- シンプルなので拡張性に優れている
- しかし、アプリで実装しなければならないところも多い
- ExtJS
- UIまわりが充実している
- UIのHTMLを動的に生成するので、重い。ファイルサイズも大きい。
- デザインの変更が難しく、SEO対策などもしにくい
- 業務アプリに向いている
- Ember.js
- モデルとビューの依存関係を定義する
- 双方向バインドが特徴
- Knockout.js
- Anguler.js
- テストを簡単にする仕組みがある
- ViewModelとDOMが疎結合である
- pause関数を使うと実行途中で止められるので、途中のキャプチャ等を取得することも可能
- その他
- 沢山あるので資料を参照
- まとめ
- フレームワークの勉強をしよう
- JavaScriptの勉強にもなるし、各種フレームワークを知ることで要件にマッチしたフレームワークを選ぶことが出来る
- カスタマイズしていこう
- フレームワークの選定には時間をかけよう。実際に書いてみることが大事。
- フレームワークの勉強をしよう
- QA
- パフォーマンスは?
- ExtJSは明らかに重い
- Backbone.js、Knockout.js、Anguler.jsを比較しているサイトがあった
- Anguler.jsが重く、他2つは同じような程度であった
- パフォーマンスは?
Backbone.js+Ruby On Rails + CoffeeScriptではじめるモダンWebアプリケーション
ライブコーディングには魔物が居るよね。
http://rokuro.net/など作っているらしい
- 問題点
- ある程度の規模になると色々と問題が出てくる
- 解決策
- backbone-railsを使って簡単にやってみるライブコーディング
- プロジェクトを作成してbundleをインストール
- backbone-railsを入れる
- scafold機能が良い感じ
- テンプレートには、jQueryTemplateが使われていて、自動生成してくれる
- ただし、コードはCoffeeScriptになる
- railsのasset-pipelineを使えば、リソースファイルをコンプレスしてくれる
- また、開発中にキャッシュされてしまわないようにhoge.js?20121001のようにしてくれる
- SCCS,Sass
- CSSを作る上で、変数定義が出来る。モジュールも作ることが出来る
- CoffeeScript
- Backboneと相性が良い。
- BackboneはBackbone.Viewとかをextend関数で継承して作るから。
- CoffeeScriptでの継承に置き換えられる
- イベント通知された関数から、クラスのメンバ変数を参照することが出来る
- nullとundefinedのチェックが楽
- Backboneと相性が良い。
- Spine
Backbone.IOでつくるリアルタイムアプリ
資料 → http://hokaccha.github.com/slides/pxg_study_backboneio/
TodoMVCをBackbone.IOで書き換えたもの → hokaccha/todomvc · GitHub
- リアルタイムWeb + クライアントサイドMVC
- socket.IO + Backbone.js
- Socket.IO
- Backbone.js
- 実装
- TodoMVCのBackboneの実装をBackbone.IOで置き換える
- 数行書き換えるだけで済んでしまう
- まとめ
- Backbone.jsで実装したコードはほとんど変更する必要がない
- リアルタイム通信にsocket.IOで安心
- ただし、痒いところに手が届かない
- まだまだ発展途上なわりに、ここ2ヶ月位は更新されていない
- 宣伝
- CodeGrid - フロントエンドに関わる人々のガイド
- 30日間は無料です