tech memorandom

Webに関して調査したことや、メディアアート系(Max,Processing)で調査したことなどを書いていきます。

backbone-rails

backbone-railsを試してみました。あまり話題になっていないのでいまいちなのかなとも思ったのですが、なかなか幸せになりました。できることはいかのような感じです。

  1. Backbone.jsとRailsの組み合わせてScaffoldを作成
  2. Backbone.jsのModelに適したrestfulなAPIの自動生成
  3. Backbone.jsのRouterの自動生成
  4. Viewに対応したUnderScoreのテンプレートの自動生成

導入方法などはgitに書いてあるのでそれ呼んでもらえればと思います。

生成されるコードはRails向けなのでCoffeeScriptです。

 

まずはExampleのBlogをためしにつくりコードを読むことをおすすめします。

Routerの使い方や効率のよいModelやCollectionの使い方の参考になります。

├── application.js
├── backbone
│   ├── bbblog.js.coffee
│   ├── models
│   │   └── post.js.coffee
│   ├── routers
│   │   └── posts_router.js.coffee
│   ├── templates
│   │   └── posts
│   │       ├── edit.jst.ejs
│   │       ├── index.jst.ejs
│   │       ├── new.jst.ejs
│   │       ├── post.jst.ejs
│   │       └── show.jst.ejs
│   └── views
│       └── posts
│           ├── edit_view.js.coffee
│           ├── index_view.js.coffee
│           ├── new_view.js.coffee
│           ├── post_view.js.coffee
│           └── show_view.js.coffee
└── posts.js.coffee

Routerと Viewだけ生成したい場合もできます。

rails g backbone:router ${contoller} ${page1} ${page2} ... ${pageN}   

これでrouter,view,templateが一気に生成されます。コンテンツ量が多い場合はここで得られる幸せは半端ないと思います。

ただ生成ごとにrouterをoverwriteする仕様なので、routerには最低限のこと以外は書かないほうがいいです。

本番でrails使うかどうかはさておき、開発段階で利用することで、クライアントサイドはかなり効率的に開発をすすめれそうです。