5分でわかる?
Backbone.js ことはじめ
2012/11/14 なんでもないただの先端技術勉強会(仮)
ShareWis Inc. 門脇 恒平




                      1
自己紹介

• 名前:門脇   恒平 @kadoppe

• 職業:ソフトウェアエンジニア
Webアプリケーション / iOSアプリケーション /
Backbone.js

• 所属:
ShareWis Inc. CTO / HTML5-West.jpコアメンバ


                   2
Backbone.js とは

• クライアントサイドJavaScript   MVC フレームワーク
                             と言われている

• 実際のところ


 • WebアプリケーションにModel,
                   View, Collection,
  Eventの構造・仕組みを提供するフレームワーク

  • 従来のMVCフレームワークとは別物



                 3
Backbone.js のメリット
•   役割ごとにソースコードを分割・整理できる

    •   Model, View, Collectionそれぞれのコードを独立して
        開発しやすくなる

    •   特に大規模JavaScriptプロジェクトで有用



          Model        View      Collection



                         4
Model
の役割     (1)データ管理
• データ管理


 • アプリケーションに必要なあらゆるデータを管理


 •   例)Person Modelの firstName プロパティ に Taro
     を値として設定

• イベント管理


 •   プロパティの変化などのイベントを他のオブジェクトに
     伝える
                      5
Model
の役割
        (2)ビジネスロジックの実装


• ビジネスロジック


• データの変換、結合、バリデーションなどを実現す
  るメソッド

• 例)firstName   と lastNameをくっつけて返す
  fullName というメソッドを実装


                    6
Modelの集合を扱う
Collection
  の役割




• Modelの集合に対する様々な操作


  • ソート、フィルタリング、検索など


• イベント管理


  • Modelの追加、削除などのイベントを他のオブジェ
    クトに伝える


                  7
View
の役割     (1)DOMツリーの管理
 body     div        ul     li


                            li


                            li


          div       form   input


View:                      input
                8
View
の役割     (1)DOMツリーの管理
 body     div        ul     li


                            li


                            li


          div       form   input


View:                      input
                8
View
の役割     (1)DOMツリーの管理
 body     div        ul     li


                            li


                            li


          div       form   input


View:                      input
                8
View
の役割     (1)DOMツリーの管理
 body     div        ul     li


                            li


                            li


          div       form   input


View:                      input
                8
View
の役割     (1)DOMツリーの管理
 body     div        ul     li


                            li
 jQueryなどを使って
DOM操作・イベント監視                li


          div       form   input


View:                      input
                8
View
の役割
       (2)Model・Collectionの管理

• Model・Collectionの操作


 • Modelのプロパティ値変更


 • CollectionへのModel追加・削除


• イベント監視


 • ModelやCollectionが発生させるイベントの監視


                   9
View
の役割    (3)中継
• DOMツリーとModel・Collectionの橋渡し

    :イベント    :操作



                                Model



                   View

                                Collecti
                                  on



                   10
まとめ
• Backbone.js


 • Model,
      View, Collectionを提供してくれるフレー
  ムワーク

 • 大規模JavaScriptプロジェクトでも各部分を独立し
  て開発しやくすなる

• 紹介していない他の機能はまた別の機会に


 • Router,   RESTful JSONインタフェースなど
                     11
学習に役立つページ
•   Backbone.js 公式ドキュメント

    •   http://backbonejs.org/

•   Backbone.js Advent Calendar 2011

    •   特に「Backbone.js入門」シリーズ

    •   http://qiita.com/advent-calendar/2011/backbone

•   これまでの「MVC」とBackbone.jsの関係について少し理解した。

    •   http://kadoppe.com/archives/2012/04/relation-between-
        traditional-mvc-and-backbonejs.html
                                 12
おしまい!

ご清聴ありがとうございました!



       13

More Related Content

PDF
backbone.jsの使用例 その1
PDF
Backbone.js入門
PDF
Backbone.js
PPTX
忙しい人のためのBackbone.jsとAngular.js入門
PDF
はじめよう Backbone.js
PDF
Angular js or_backbonejs
PDF
Backbonejs @BuildInsiderOffline #1
PDF
Start React with Browserify
backbone.jsの使用例 その1
Backbone.js入門
Backbone.js
忙しい人のためのBackbone.jsとAngular.js入門
はじめよう Backbone.js
Angular js or_backbonejs
Backbonejs @BuildInsiderOffline #1
Start React with Browserify

What's hot (20)

KEY
Kawaz的jQuery入門
PDF
JavaScriptことはじめ
PDF
scala+liftで遊ぼう
PDF
Type Safe Assets Handling in Swift
PDF
⑯jQueryをおぼえよう!その2
PDF
WebデザイナのためのjQuery入門。
PPTX
モテる JavaScript
PDF
20110714 j queryベーシック
PDF
実践Backbone.Marionette 現場の悩みと解決まで
PDF
⑲jQueryをおぼえよう!その5
PDF
JavaScript Basic 01
PPTX
Androidで使えるJSON-Javaライブラリ
PDF
WordBench Kobe jQueryどうでしょう
PPTX
Swiftyを試す
PDF
introduction to Marionette.js (jscafe14)
PDF
jQuery勉強会#3
PDF
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
PPTX
Backbone.jsとSASSでモジュールをつくった話
PDF
iOS WebView App
Kawaz的jQuery入門
JavaScriptことはじめ
scala+liftで遊ぼう
Type Safe Assets Handling in Swift
⑯jQueryをおぼえよう!その2
WebデザイナのためのjQuery入門。
モテる JavaScript
20110714 j queryベーシック
実践Backbone.Marionette 現場の悩みと解決まで
⑲jQueryをおぼえよう!その5
JavaScript Basic 01
Androidで使えるJSON-Javaライブラリ
WordBench Kobe jQueryどうでしょう
Swiftyを試す
introduction to Marionette.js (jscafe14)
jQuery勉強会#3
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Backbone.jsとSASSでモジュールをつくった話
iOS WebView App
Ad

Similar to 5分でわかる?Backbone.js ことはじめ (20)

PPT
20130924 Picomon CRH勉強会
KEY
Knockout
PDF
Visualforce + jQuery
PDF
Introduction for Browser Side MVC
PDF
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
PDF
初めてのvue.js(2.x系)
PDF
Web制作勉強会 #2
PDF
はじめてのVue.js
PDF
Spine入門
PDF
Senchaを使うエンジニアが知っておくたった一つのこと
PPTX
MVVM入門
PDF
Study Intro Backbone
PDF
JavaScript 研修
PPTX
Mithril - 軽量/高速なMVCフレームワーク
PDF
Vue入門
PDF
Objective Front-End JavaScript
PDF
Web development fundamental
PDF
Knockout_エンジニア勉強会20131120
PDF
DOM Scripting & jQuery
PPTX
20200304 vuejs
20130924 Picomon CRH勉強会
Knockout
Visualforce + jQuery
Introduction for Browser Side MVC
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
初めてのvue.js(2.x系)
Web制作勉強会 #2
はじめてのVue.js
Spine入門
Senchaを使うエンジニアが知っておくたった一つのこと
MVVM入門
Study Intro Backbone
JavaScript 研修
Mithril - 軽量/高速なMVCフレームワーク
Vue入門
Objective Front-End JavaScript
Web development fundamental
Knockout_エンジニア勉強会20131120
DOM Scripting & jQuery
20200304 vuejs
Ad

More from Kohei Kadowaki (17)

PDF
Pebble + JavaScriptでつくるスマートウォッチアプリ
PDF
Firefox OSでSVGをつかってみた
PDF
Inline SVG - トラブルとその対策
PDF
Webでもできるデータビジュアライゼーション
PDF
いまさら聞けない!?Backbone.js 超入門
PDF
D3.js と SVG によるデータビジュアライゼーション
PDF
プログラマーのお仕事
PDF
SVGでつくるインタラクティブWebアプリケーション
PDF
UnityでつくるはじめてのPONG
PDF
インラインSVGをつかって地図っぽいものをつくってみる
PDF
ShareWisをFirefoxで動かすためのSVG的とりくみ
PDF
d3jsではじめるデータビジュアライゼーション入門
PDF
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
PDF
SocketStream入門
PDF
WebSocket + Node.jsでつくるチャットアプリ
PDF
AndroidでWebSocket
PDF
WebSocketことはじめ
Pebble + JavaScriptでつくるスマートウォッチアプリ
Firefox OSでSVGをつかってみた
Inline SVG - トラブルとその対策
Webでもできるデータビジュアライゼーション
いまさら聞けない!?Backbone.js 超入門
D3.js と SVG によるデータビジュアライゼーション
プログラマーのお仕事
SVGでつくるインタラクティブWebアプリケーション
UnityでつくるはじめてのPONG
インラインSVGをつかって地図っぽいものをつくってみる
ShareWisをFirefoxで動かすためのSVG的とりくみ
d3jsではじめるデータビジュアライゼーション入門
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
SocketStream入門
WebSocket + Node.jsでつくるチャットアプリ
AndroidでWebSocket
WebSocketことはじめ

5分でわかる?Backbone.js ことはじめ

  • 2. 自己紹介 • 名前:門脇 恒平 @kadoppe • 職業:ソフトウェアエンジニア Webアプリケーション / iOSアプリケーション / Backbone.js • 所属: ShareWis Inc. CTO / HTML5-West.jpコアメンバ 2
  • 3. Backbone.js とは • クライアントサイドJavaScript MVC フレームワーク と言われている • 実際のところ • WebアプリケーションにModel, View, Collection, Eventの構造・仕組みを提供するフレームワーク • 従来のMVCフレームワークとは別物 3
  • 4. Backbone.js のメリット • 役割ごとにソースコードを分割・整理できる • Model, View, Collectionそれぞれのコードを独立して 開発しやすくなる • 特に大規模JavaScriptプロジェクトで有用 Model View Collection 4
  • 5. Model の役割 (1)データ管理 • データ管理 • アプリケーションに必要なあらゆるデータを管理 • 例)Person Modelの firstName プロパティ に Taro を値として設定 • イベント管理 • プロパティの変化などのイベントを他のオブジェクトに 伝える 5
  • 6. Model の役割 (2)ビジネスロジックの実装 • ビジネスロジック • データの変換、結合、バリデーションなどを実現す るメソッド • 例)firstName と lastNameをくっつけて返す fullName というメソッドを実装 6
  • 7. Modelの集合を扱う Collection の役割 • Modelの集合に対する様々な操作 • ソート、フィルタリング、検索など • イベント管理 • Modelの追加、削除などのイベントを他のオブジェ クトに伝える 7
  • 8. View の役割 (1)DOMツリーの管理 body div ul li li li div form input View: input 8
  • 9. View の役割 (1)DOMツリーの管理 body div ul li li li div form input View: input 8
  • 10. View の役割 (1)DOMツリーの管理 body div ul li li li div form input View: input 8
  • 11. View の役割 (1)DOMツリーの管理 body div ul li li li div form input View: input 8
  • 12. View の役割 (1)DOMツリーの管理 body div ul li li jQueryなどを使って DOM操作・イベント監視 li div form input View: input 8
  • 13. View の役割 (2)Model・Collectionの管理 • Model・Collectionの操作 • Modelのプロパティ値変更 • CollectionへのModel追加・削除 • イベント監視 • ModelやCollectionが発生させるイベントの監視 9
  • 14. View の役割 (3)中継 • DOMツリーとModel・Collectionの橋渡し :イベント :操作 Model View Collecti on 10
  • 15. まとめ • Backbone.js • Model, View, Collectionを提供してくれるフレー ムワーク • 大規模JavaScriptプロジェクトでも各部分を独立し て開発しやくすなる • 紹介していない他の機能はまた別の機会に • Router, RESTful JSONインタフェースなど 11
  • 16. 学習に役立つページ • Backbone.js 公式ドキュメント • http://backbonejs.org/ • Backbone.js Advent Calendar 2011 • 特に「Backbone.js入門」シリーズ • http://qiita.com/advent-calendar/2011/backbone • これまでの「MVC」とBackbone.jsの関係について少し理解した。 • http://kadoppe.com/archives/2012/04/relation-between- traditional-mvc-and-backbonejs.html 12