SlideShare a Scribd company logo
1 of 24
Backbone.js
+ CoffeeScript
    +RonR
    Cohei Aoki
     @coa00
About Me

• 音楽や映像を生成するAlgorithmのCodeを
 書くのが好き。

• インタラクティブなアート好き。
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像




Ledの光を音に変換        時間で映像を歪める
本日のお話
JavaScriptを使ったアプリケーション
程度の中規模程度を行う環境についてお
話します。

情報量の多いサイト、Facebookアプ
リ、PhoneGapアプリなどをつくるこ
とを想定しています。
規模が多くなってきた開発で抱える課題
1.JSにイベント制御、ステート管理、Viewの
  更新、 通信などが無秩序にはいりコードの可
  読性が下がる。

2.ライブラリやファイル分割を行った場合、取
  得時に複数のコネクションをはることになる
  ため、結合、コンプレスが必要になる。

3.CSSの記述の冗長化してしまう。

4.開発途中参加メンバーのキャッチアップに苦
  戦する・・・
(´・ω・`)
解決案


• MVCフレームワークを導入
 • Backbone.jsを導入
• ビルドスクリプトの作成
 • Cakeなどでbuild,watchなど作成
• sccs、saasなどの導入
今日はRonRを使って楽しましょう。
       (・∀・)
DEMO


• Backbone.jsとRonRでさくさくブ
 ログつくってから解説します。
Backbone.js
イベントの受信のフックにモデルとビューの更新を行え
る。ピタゴラスイッチスイッチみたいで気持ちいい。
Backbone.js

viewごとにエレメントを保持しているため、
更新を局所ができる。
Backbone.js


コレクションがおもしろい!!!
Backbone-rails
• Railsのコマンドを使ってBackbone.jsと
 JQueryTemplateを使ったサイトのひな
 形をくってくれるコマンドです。

• backbone::scaffoldでBackbone.js
 をつかった簡単なBlogのようなひな形を
 サーバサイドを含めすぐにつくることができ
ジェネレートされたコード
├── 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
Backbone-rails

• backbone::scaffoldでBackbone.js
 をつかった簡単なBlogのようなひな形を
 サーバサイドを含めすぐにつくることができ
 ます。
Backbone-rails

 Router,View,テンプレートが追加されます。


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

• Backbone-railsで生成されるコー
 ドはCoffeeScriptです。

• CoffeeScript嫌いな人には合わな
 いかもしれません。
asset-pipeline
冒頭でお話したビルドの解決策

• JavaScript,CSSなどを自動的に圧縮
 してくれる機能。

• CSSやJSのキャッシュなども対応して
 くれる。

• hoge.css?20121001
SCCS/SaaS
• CSS内に共通変数をもたせることがで
 きる。(絶対座標計算などに便利)

• MixInを使うとよく使うパーツの
 CSS(ボタンなど)のモジュール化がで
 きる。

• 別クラスで定義したCSSを綺麗に使い
 まわせる。
CoffeeScript
• クラスの継承が可能でBackbone.js
 と相性がよい。

• コールされた関数からクラスのメンバ
 変数を参照できる。

• undefineとnullについての記述が
 楽。
DEMO



• 時間があればデモ
このあたりすべてサポートした
 フレームワークがあります。
ちょっと癖がありますがこちらもいいです!
ご清聴ありがとうございました!

More Related Content

Viewers also liked

Client-side MVC with Backbone.js
Client-side MVC with Backbone.js Client-side MVC with Backbone.js
Client-side MVC with Backbone.js iloveigloo
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜Yuji Nojima
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.jsHiroki Toyokawa
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときRyunosuke SATO
 
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップ慎一 古賀
 

Viewers also liked (6)

Client-side MVC with Backbone.js
Client-side MVC with Backbone.js Client-side MVC with Backbone.js
Client-side MVC with Backbone.js
 
Vue.js ハンズオン資料
Vue.js ハンズオン資料Vue.js ハンズオン資料
Vue.js ハンズオン資料
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Backbone.js勉強会

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n