Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
daisuke shimizu
PDF, PPTX
12,288 views
Backbone.js
第31回HTML5とか勉強会で発表したBackbone.jsの資料
Technology
◦
Read more
42
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
5分でわかる?Backbone.js ことはじめ
by
Kohei Kadowaki
PDF
JavaScript/CSS 2015 Autumn
by
Koji Ishimoto
PDF
jQuery超入門編
by
Yasuhito Yabe
PDF
Start React with Browserify
by
Muyuu Fujita
KEY
Kawaz的jQuery入門
by
Kohki Miki
PPTX
まだDOM操作で消耗してるの?
by
IRI MO
PDF
Type Safe Assets Handling in Swift
by
Kazunobu Tasaka
PDF
Backbone.js入門
by
AdvancedTechNight
5分でわかる?Backbone.js ことはじめ
by
Kohei Kadowaki
JavaScript/CSS 2015 Autumn
by
Koji Ishimoto
jQuery超入門編
by
Yasuhito Yabe
Start React with Browserify
by
Muyuu Fujita
Kawaz的jQuery入門
by
Kohki Miki
まだDOM操作で消耗してるの?
by
IRI MO
Type Safe Assets Handling in Swift
by
Kazunobu Tasaka
Backbone.js入門
by
AdvancedTechNight
What's hot
PDF
swooleを試してみた
by
Yukihiro Katsumi
PDF
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
by
Tomohiro Kumagai
PDF
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
by
schoowebcampus
PDF
What is doobie? - database access for scala -
by
chibochibo
PDF
JavaScriptことはじめ
by
Yuki Ishikawa
PPTX
Androidで使えるJSON-Javaライブラリ
by
Yukiya Nakagawa
PDF
ScaLa+Liftとか
by
youku
PDF
ソーシャルアプリ勉強会(第一回資料)配布用
by
Yatabe Terumasa
PDF
20110714 j queryベーシック
by
良太 増子
KEY
Blocksの活用法
by
Hidetoshi Mori
PDF
Pro aspnetmvc3framework chap19
by
Hideki Hashizume
PDF
OSC京都2011
by
haganemetal
PPTX
Swiftyを試す
by
幸雄 村上
KEY
いまさらJavaScript
by
Naomichi Yamakita
PDF
探検!SwiftyJSON
by
Yuka Ezura
PDF
⑲jQueryをおぼえよう!その5
by
Nishida Kansuke
PDF
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
by
Tsuyoshi Yamamoto
PDF
これからのJavaScriptの話
by
Shogo Sensui
PPTX
モテる JavaScript
by
Osamu Monoe
swooleを試してみた
by
Yukihiro Katsumi
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
by
Tomohiro Kumagai
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
by
schoowebcampus
What is doobie? - database access for scala -
by
chibochibo
JavaScriptことはじめ
by
Yuki Ishikawa
Androidで使えるJSON-Javaライブラリ
by
Yukiya Nakagawa
ScaLa+Liftとか
by
youku
ソーシャルアプリ勉強会(第一回資料)配布用
by
Yatabe Terumasa
20110714 j queryベーシック
by
良太 増子
Blocksの活用法
by
Hidetoshi Mori
Pro aspnetmvc3framework chap19
by
Hideki Hashizume
OSC京都2011
by
haganemetal
Swiftyを試す
by
幸雄 村上
いまさらJavaScript
by
Naomichi Yamakita
探検!SwiftyJSON
by
Yuka Ezura
⑲jQueryをおぼえよう!その5
by
Nishida Kansuke
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
by
Tsuyoshi Yamamoto
これからのJavaScriptの話
by
Shogo Sensui
モテる JavaScript
by
Osamu Monoe
Viewers also liked
PDF
Management Consulting
by
Alexandros Chatzopoulos
PPTX
Medical devices
by
Somnath Zambare
PDF
Chess
by
Chuck Vohs
PPTX
Sap fiori
by
Anudeep Bhatia
PDF
Simo Ahava - Tag Management Solutions – Best. Data. Ever. MKTFEST 2014
by
Marketing Festival
PPT
Selena Gomez
by
guest5fa9931
PPTX
In memory computing
by
Gagan Reddy
PPT
Reverse Engineering
by
dswanson
PPTX
intel core i7
by
kiran bansod
PPTX
Jim rohn
by
Motivational Goldenwords
PPT
Bill Gates, Who is he?
by
Victor Gabriel Garcia G.
PDF
French Property market 2015 - Cushman & Wakefield
by
David Bourla
PPTX
Growth Hacking
by
Centre for Digital Marketing & Communication
PDF
French Property Market 2014
by
David Bourla
PPT
Lionel Messi
by
NaliKardan
PPTX
Elon Musk
by
Miloš Ivković
PPT
Lionel messi
by
Dipanker Singh
PPT
Tesco
by
Vishal Wadekar
PDF
Datomic
by
Christophe Marchal
PPTX
Workshop
by
Beth Kanter
Management Consulting
by
Alexandros Chatzopoulos
Medical devices
by
Somnath Zambare
Chess
by
Chuck Vohs
Sap fiori
by
Anudeep Bhatia
Simo Ahava - Tag Management Solutions – Best. Data. Ever. MKTFEST 2014
by
Marketing Festival
Selena Gomez
by
guest5fa9931
In memory computing
by
Gagan Reddy
Reverse Engineering
by
dswanson
intel core i7
by
kiran bansod
Jim rohn
by
Motivational Goldenwords
Bill Gates, Who is he?
by
Victor Gabriel Garcia G.
French Property market 2015 - Cushman & Wakefield
by
David Bourla
Growth Hacking
by
Centre for Digital Marketing & Communication
French Property Market 2014
by
David Bourla
Lionel Messi
by
NaliKardan
Elon Musk
by
Miloš Ivković
Lionel messi
by
Dipanker Singh
Tesco
by
Vishal Wadekar
Datomic
by
Christophe Marchal
Workshop
by
Beth Kanter
Similar to Backbone.js
PPT
20130924 Picomon CRH勉強会
by
Yukihiro Kitazawa
ODP
今流行りのウェブアプリ開発環境Yeoman
by
tomo_masakura
PDF
backbone.jsの使用例 その1
by
Makoto Haruyama
PDF
Javaな人が気を付けるべきJavaScriptコーディングスタイル
by
Maaya Ishida
PDF
実践Backbone.Marionette 現場の悩みと解決まで
by
Ryuma Tsukano
PDF
Spine入門
by
AdvancedTechNight
PDF
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
PDF
JavascriptのMVC開発について調べてみた 〜BACKBONE.JS〜
by
Toshio Ehara
PDF
はじめよう Backbone.js
by
Hiroki Toyokawa
PDF
Parse.comと始めるBackbone.js入門(jscafe7)
by
Ryuma Tsukano
PDF
Study Intro Backbone
by
Gensei Kawasaki
PDF
Backbone model collection (jscafe 8)
by
Ryuma Tsukano
PDF
Knockout を用いた Firefox OS アプリケーションの開発
by
Kentaro Iizuka
PDF
Introduction for Browser Side MVC
by
Ryunosuke SATO
PDF
実践Knockout
by
Kazuhiro Eguchi
PDF
Knockout_エンジニア勉強会20131120
by
エンジニア勉強会 エスキュービズム
PDF
introduction to Marionette.js (jscafe14)
by
Ryuma Tsukano
PDF
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
by
K Tsukada
PDF
Backbonejs @BuildInsiderOffline #1
by
daisuke shimizu
PDF
BACKBONE.JSによるWebアプリケーション開発について
by
Toshio Ehara
20130924 Picomon CRH勉強会
by
Yukihiro Kitazawa
今流行りのウェブアプリ開発環境Yeoman
by
tomo_masakura
backbone.jsの使用例 その1
by
Makoto Haruyama
Javaな人が気を付けるべきJavaScriptコーディングスタイル
by
Maaya Ishida
実践Backbone.Marionette 現場の悩みと解決まで
by
Ryuma Tsukano
Spine入門
by
AdvancedTechNight
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
JavascriptのMVC開発について調べてみた 〜BACKBONE.JS〜
by
Toshio Ehara
はじめよう Backbone.js
by
Hiroki Toyokawa
Parse.comと始めるBackbone.js入門(jscafe7)
by
Ryuma Tsukano
Study Intro Backbone
by
Gensei Kawasaki
Backbone model collection (jscafe 8)
by
Ryuma Tsukano
Knockout を用いた Firefox OS アプリケーションの開発
by
Kentaro Iizuka
Introduction for Browser Side MVC
by
Ryunosuke SATO
実践Knockout
by
Kazuhiro Eguchi
Knockout_エンジニア勉強会20131120
by
エンジニア勉強会 エスキュービズム
introduction to Marionette.js (jscafe14)
by
Ryuma Tsukano
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
by
K Tsukada
Backbonejs @BuildInsiderOffline #1
by
daisuke shimizu
BACKBONE.JSによるWebアプリケーション開発について
by
Toshio Ehara
Recently uploaded
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
Backbone.js
1.
Backbone.js supply structure to
web applications
2.
自己紹介 ● 清水 大輔(しみず だいすけ) ● NHN
Japan LINEのJS書いてます ● 著書『iPhone & Android HTML5ではじめるアプ リ制作の手引き 』 ● 趣味:フットサル、ジョギング ● twitter id @tori3_jp
4.
backbone.jsとは ● 開発者はJeremy Ashkenas氏
CoffeeScript, underscore.js ● JavaScript MVC Framework Events, Model, Collection, View, Route ● Document ● 採用事例 LinkedIn, foursquare, pandora, etc...
5.
他にも ● Knockout.js (MVVM) ●
Javascript MVC ● Ember.js ● Spine.js ● Angular.js
6.
MVCとは "Model View Controller(モデル・ビュー・コントローラ;
MVC) は、コンピュータ内部のデータをユーザに提示し、それに対して ユーザが何らかの指示を出すタイプの、独自のユーザーインタ フェースをもつアプリケーションソフトウェアを、以下に述べるよ うなmodel・view・controllerの3つの部分に分割して設計・実装 するという技法、又はそのような構造をいう。 各モジュールが比較的截然と分かれ、プログラムの見通しがよ くなるとともに、ユーザインタフェース (UI) 部分を別のモジュー ルに取り替えることが容易となるのが利点である。自動プログラ ミングなどにも適している。" 出典:wikipedia
7.
・HTML5、ブラウザの高速化などに伴って
Webアプリでよりネイティブアプリ近いUXが可能に => JavaScriptで複数のViewを切り替えるようなアプリ => 保守性、品質を保つには高いスキルやコストが必要 => OOPのデザインパターンの利用 => JavaScript MVC Framework
8.
注意 ● なんでもかんでもMVCが必要というわけではない etc: 単純なTab
UIの実装、ちょっとしたeffect処理 ● backbone.jsを使った = MVCではない ● MVC is dead なんて話題になりましたが... プレゼンテーションとドメインの分離が重要
9.
Backbone.jsでのMVC MVCだが.... Backbone.Model => Model Backbone.Collection
=> Group化したModel Backbone.Router => Controllerの一部とURLとのMapping Backbone.View => ViewとController (Modelを内包) Template => View
10.
Dependency ● jQuery or
Zepto ● Underscore.js ● ( json2.js)
11.
Events Backbone.View, Mdoel, Collectionは 全てこのBackbone.Eventsを継承 on(),
off(), trigger()のメソッドを実装 => Observe Pattern
12.
Model ==================================== var model =
Backbone.Model.extend({ update: function(value) { ・・・ // "change" eventをtirgger this.trigger("change"); } }); View ==================================== var view = Backbone.View.extend({ initialize: function() { // modelのeventにattach this.model.on("change", this.onChange, this); }, onChange: function(arg) { ・・・ } });
13.
Model ドメイン(ビジネスロジック)の実装 データ同期に透過的なRESTFul APIを提供 (Backbone.Sync) save() =>
POST or PUT destroy() => DELETE fetch() => GET
14.
var Book= Backbone.Model.extend({
// リソースURL url: function() { return "http://hoge/api" + ((this.id) ? "/" + this.id : ""); }, // デフォルトプロパティを設定 defaults: { title: "", author: "", isbn: "", price: 0 } // コンストラクタ initialize: function() { ・・・ } });
15.
var book =
new Book({ title : "JavaScript MVC", author: "hoge hoge", price : 3000 }); // POST book.save(); => POST : http://hoge/api // PUT ( idに1111が設定されているとする) book.set({price : 1000}); book.save(); => PUT : http://hoge.hoge/api/1111 //DELETE book.destroy() => DELETE : http://hogehoge/api/1111
16.
メソッドのオーバーライド。スーパークラスのメソッド呼び出し var book =
new Backbone.Model({ set : function(obj) { obj.price = obj.price * 0.05; Backbone.Model.prototype.set.call(this, obj); } });
17.
Backbone.Syncをオーバーライドすることで、他のリソース(localStorageなど)を使えま す Backbone.sync = function(method,
model, options) { var resp; var store = model.localStorage || model.collection.localStorage; switch (method) { case "read": resp = model.id ? store.find(model) : store.findAll(); break; case "create": resp = store.create(model); break; case "update": resp = store.update(model); break; case "delete": resp = store.destroy(model); break; }
18.
Collection ModelをGroup(LIST)化したもの underscore.jsのメソッドに大部分が依存 ● each ● sort ●
shuffle ● reset ● filter
19.
var BookCollection =
new Backbone.Collection.extend({ // collectionするmodel model: Book, // コンストラクタ initialize: function() { }, // comparator comparator: function(book) { return book.get("price"); } });
20.
var bookList =
new BookCollection([ {title : "aaaa", author: "hoge1", price: 1000}, {title : "bbb", author: "hoge2", price: 2000}, {title : "ccccc", author: "hoge3", price: 3000} ]); // push bookList.push(new Book({title : "dddd", author: "hoge4", price: 600}); // pop var book1 = bookList.pop(); // sort ( price 昇順にソート) bookList.sort(); // indexを指定して取得 var book2 = bookList.at(1);
21.
View プレゼンテーション部分の実装 ● templateを使ったDOM作成 ● DOM操作 ●
delegateでのDOM Event処理 ● model (collection)のcontrol
22.
var BookView =
Backbone.View.extend({ tagName: "li", // delegate event events: { "click .removeBtn" : "onRemove" }, // テンプレート tmpl : $("#bookTmpl"), // コンストラクタ initialize: function() { this.model.bind("destory", this.change, this); }, // レンダリング render : function() { this.$el.html(_.tmplate(this.tmpl.text(), this.model.toJSON()); return this.$el; },
23.
// 削除ボタンclick
onRemove: function(e) { this.model.destory(); }, // destory remove: function() { this.$el.remove(); } }); =========================================== var bookModel = new Bookl({ title: "javascript mvc", price: 2000 }); var bookView = new BookView({ model : bookModel }); bookView.render();
24.
History / Router History pushStateに対応 location.hashへ自動でフェイルオーバー Router URL
(location.hash)に基づいた処理のルーティング
25.
var BookShelfRouter =
Backbone.Router.extend({ routes: { "home": "home", "search/:query": "search" }, home: function() { ・・・ }, search: function(query) { ・・・ } }); var router = new BookShelfRouter(); Backbone.history.start({pushState: true, root: "/home"}) ============================ http://hoge/seach/mvc
26.
良いところ ・LinghtWeight 1431行(v.0.9.2)、
pack & gzipで5.6KB 最小構成(zepto + underscore)で 5.6KB + 4KB + 8.4KB = 18KB ・RESTFul JSON ・Routing & History Control
27.
今後 ● backbone conf
2012 (5/30-31) ● リアクティブプログラミング backbone.io node.js + socket.ioでserver sideのmodelと リアルタイムに連携
Download