Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
svelte と tailwind で始めるフロントエンド開発
Shuichi Takaya
HTML5 アプリ開発
tomo_masakura
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
JavaScriptトレンド総括(2014)
Tetsuharu OHZEKI
React+fluxを導入した話
Yuki Ishikawa
1
of
91
Top clipped slide
いまさら聞けない!?Backbone.js 超入門
Jun. 7, 2013
•
0 likes
44 likes
×
Be the first to like this
Show More
•
21,210 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Report
Devices & Hardware
2013年6月8日に大阪で開催された「第7回HTML5など勉強会」で使ったプレゼン資料です。
Kohei Kadowaki
Follow
Software Engineer at PLAID, Inc.
Advertisement
Advertisement
Advertisement
Recommended
BACKBONE.JSによるWebアプリケーション開発について
Toshio Ehara
41.3K views
•
47 slides
jQueryを中心としたJavaScript
hideaki honda
16.8K views
•
24 slides
なぜ人は必死でjQueryを捨てようとしているのか
Yoichi Toyota
80.2K views
•
15 slides
RailsでReact.jsを動かしてみた話
yoshioka_cb
4.7K views
•
37 slides
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
18.9K views
•
64 slides
JavaScript 研修
Yuki Ishikawa
13.6K views
•
93 slides
More Related Content
Slideshows for you
(20)
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
•
65.3K views
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
•
10.1K views
svelte と tailwind で始めるフロントエンド開発
Shuichi Takaya
•
173 views
HTML5 アプリ開発
tomo_masakura
•
2.2K views
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
•
18.3K views
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
•
11.1K views
JavaScriptトレンド総括(2014)
Tetsuharu OHZEKI
•
23.5K views
React+fluxを導入した話
Yuki Ishikawa
•
4.5K views
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida
•
902 views
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
schoowebcampus
•
4.8K views
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
•
17.1K views
gulp芸
Yuki Ishikawa
•
1.8K views
AngularJSの高速化
Kon Yuichi
•
8.6K views
HTML5 開発環境の紹介
tomo_masakura
•
4.3K views
Mojolicious+redisでチャットを作った
Tetsuya Tatsumi
•
3.8K views
React を導入したフロントエンド開発
daisuke-a-matsui
•
60.4K views
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
•
2.8K views
AngularJSでの非同期処理の話
Yosuke Onoue
•
10.9K views
続・Twitter bootstrap入門 #html5j
Toshiaki Maki
•
6.3K views
Mojoliciousでつくる! Webアプリ入門
Yusuke Wada
•
22.2K views
Viewers also liked
(6)
2013 02 09_osc2013_hamamatsu_osm
Tom Hayakawa
•
2K views
UnitTestのためのクラス設計
Takeshi Ishida
•
7.9K views
5分でわかる?Backbone.js ことはじめ
Kohei Kadowaki
•
11.4K views
Visual Studio Code 入門
Saki Homma
•
4.9K views
angular1脳で見るangular2
Moriyuki Arakawa
•
29.9K views
(旧版) オープンソースライセンスの基礎と実務
Yutaka Kachi
•
263.5K views
Advertisement
Similar to いまさら聞けない!?Backbone.js 超入門
(20)
非同期処理をちょっとはラクに。Promises:aほか
Masakazu Muraoka
•
1.3K views
HTML5が最近どうなっていて何があぶなっかしいのか?
Masakazu Muraoka
•
3K views
HTML5とOSSで作るブラウザで簡単顔認識
Mitsuru Ogawa
•
4.2K views
Kerasで可視化いろいろ
Masakazu Muraoka
•
17.3K views
ボクたちのWWW Webクリエイターのこれからを考える
Masakazu Muraoka
•
1.9K views
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
Mitsuo Kawashima
•
3.3K views
_HTML5で組んでみた_
Kelly Holonic
•
5 views
Html5で変わるいろんなこと
Masakazu Muraoka
•
677 views
ON HTML5 FIELD で書き尽くせなかったこと
Masakazu Muraoka
•
381 views
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
Takashi Endo
•
854 views
JavaScript on GitHub (#kyotojs)
y_uuki
•
921 views
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
Mori Shingo
•
646 views
Html5 and Graphics
Masakazu Muraoka
•
959 views
Web Speech API でおっさんの声を美少女化してみた
minoru nakanou
•
2.4K views
three.jsによる一歩進めたグラフィカルな表現
Kei Yagi
•
3.7K views
_s + bootstrapで始めるWordPressテーマ開発入門
Hidetaka Okamoto
•
10.5K views
Htmlのコトバ
Masakazu Muraoka
•
2.5K views
最新Webプロトコル傾向と対策
Kensaku Komatsu
•
34.6K views
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
Masakazu Muraoka
•
3.7K views
Html5でOpen Dataをやってみる
Masakazu Muraoka
•
1.4K views
More from Kohei Kadowaki
(16)
Pebble + JavaScriptでつくるスマートウォッチアプリ
Kohei Kadowaki
•
6.3K views
Firefox OSでSVGをつかってみた
Kohei Kadowaki
•
8.2K views
Inline SVG - トラブルとその対策
Kohei Kadowaki
•
10.3K views
Webでもできるデータビジュアライゼーション
Kohei Kadowaki
•
6.2K views
D3.js と SVG によるデータビジュアライゼーション
Kohei Kadowaki
•
13.8K views
プログラマーのお仕事
Kohei Kadowaki
•
1K views
SVGでつくるインタラクティブWebアプリケーション
Kohei Kadowaki
•
8.1K views
UnityでつくるはじめてのPONG
Kohei Kadowaki
•
5.4K views
インラインSVGをつかって地図っぽいものをつくってみる
Kohei Kadowaki
•
15K views
ShareWisをFirefoxで動かすためのSVG的とりくみ
Kohei Kadowaki
•
1.9K views
d3jsではじめるデータビジュアライゼーション入門
Kohei Kadowaki
•
9.7K views
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
•
48K views
SocketStream入門
Kohei Kadowaki
•
2.8K views
WebSocket + Node.jsでつくるチャットアプリ
Kohei Kadowaki
•
15.1K views
AndroidでWebSocket
Kohei Kadowaki
•
10.8K views
WebSocketことはじめ
Kohei Kadowaki
•
7.5K views
Advertisement
Recently uploaded
(20)
Eutylone
Viya18
•
24 views
12莫纳什.pdf
fdhrtf
•
2 views
#国外文凭办理DU学位证成绩单
losapab511ockdiaom
•
2 views
39萨斯喀彻温大学.pdf
dsadasd17
•
2 views
☀️《Bond U毕业证仿真》
hjhgg1
•
2 views
43埃默里大学.pdf
fdhrtf
•
2 views
☀️《莱比锡大学毕业证仿真》
hjhgg1
•
12 views
47北达科他大学.pdf
dsadasd17
•
2 views
☀️《Duke毕业证仿真》
hjhgg
•
2 views
#国外留学文凭购买佩斯假毕业证书
14zw8z53qmm
•
2 views
134-休斯敦大学.pdf
dsadasd17
•
22 views
☀️《雷根斯堡大学毕业证仿真》
hjhgg1
•
23 views
#国外文凭办理Kingston学位证成绩单
ronime8068zatcom
•
2 views
☀️《SCU毕业证仿真》
hjhgg1
•
2 views
220凯斯西储大学.pdf
fdhrtf
•
2 views
☀️《奥克兰大学毕业证仿真》
hjhgg1
•
2 views
#国外文凭办理Tulane学位证成绩单
losapab511ockdiaom
•
2 views
#国外留学文凭购买Warwick假毕业证书
fc2c0f2b1mymailol
•
2 views
☀️《基尔大学毕业证仿真》
hjhgg1
•
3 views
49圭尔夫大学.pdf
fdhrtf
•
2 views
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!? Backbone.js 超入門 2013/6/8 第7回
HTML5など勉強会 - kadoppe
自己紹介 名前:門脇 恒平 @kadoppe 職業:ソフトウェアエンジニア Backbone.js歴:1年半 所属: HTML5-West.jp
コアメンバ ShareWis Inc. CTO
スライド: http://www.slideshare.net/kadoppe サンプルコード: https://github.com/kadoppe/html5etc-7
おことわり
今日の話は HTML5に 関係なし
だって・・・
HTML5など 勉強会
今日の内容
メイン: 5W1H おまけ: 問題と失敗談
What: Backbone.jsってなんだ?
Backbone.js
クライアントサイド MVC フレームワーク
時間がないので ひらたく言うと
Webアプリの JavaScriptコードを 楽に・キレイに 書くための道具
Where: どこで使われてるの?
hulu
Foursquare
ShareWis
その他活用事例多数
Who: どんな人が使えばいいの?
JavaScriptを たくさん書く人
大規模な JavaScriptを 書く人
フロントエンド エンジニア
必要なスキル: JavaScript jQuery or Zepto.js
Zepto.js jQuery互換の軽量ライブラリ
あるといいスキル: Underscore.js
Underscore.js 痒いところに手が届くJSライブラリ
When: いつ使うの?
今でしょ!
Backbone.jsを 活用できる Webアプリ例
例1: シングルページ アプリケーション
ページ遷移せずに 画面をどんどん 切り替えたいときに
例2: 大量のイベント処理・ DOM操作が発生する アプリケーション
インタラクティブな Webアプリを つくりたいときに
例2: データを扱う アプリケーション
データをもとにして ページを動的に 組立てたいときに
Why: なぜ使うの?
Backbone.js を使うべき 5つの理由
理由1: コードの見通しが良くなる
プログラムを 複数のモジュールに 分割できる
メンテナンス性向上!
理由2: シングルページアプリ がつくりやすい
Routerが便利!
理由3: 様々な種類のデータ が扱いやすい
Model・Collection が便利!
理由4: イベント処理・DOM 操作関連のコードが カオスになりにくい
Viewが便利!
理由5: 類似フレームワークと 比べて軽量
6.3 KB
モバイル環境 でも使える
How: どうやって使うの?
その前に Backbone.jsの 構成要素を紹介
4つの構成要素
Router Model Collection View
Router: アプリの状態を管理
Model: データの管理や加工
Collection: 複数のModelを扱う 配列みたいなもの
View: イベント処理・DOM 操作・Model/ Collectionの管理
View Collection Model 相関図 Router
実際に何か つくってみる
プチ ライブ コーディング
つくるもの: ToDoリスト
スタート!
おさらい
アプリケーションの構造 FormView TodoListView StatsView AppView Todos Collection Todo Model ControlsView View同士はCollectionのイベントを介して連携
実際に つくってみて わかったこと
1. 役割ごとに コードを分割できた
2. 疎結合な コードが書けた
疎結合= コード間の結びつきが 弱いこと
Viewは 他のViewのことを 知らない
メンテナンス性が 高いコードが書けた!
ぜひ使おう
でもちょっと 待って
おまけ: 問題点と失敗談
Backbone.jsの問題: 決まり事が少ない 自由度が高い
うまく書かないと スパゲッティコードが 途端にできあがる
失敗談1: Viewのコードが長く 複雑になる
理由1: Viewが担当する ページ要素が広すぎる
理由1: Viewの責任範囲をう まく分割できてない AppView ページ全体をひとつのViewで まかなおうとする → Viewのコードが長く、複雑に
理由1: Viewの責任範囲をう まく分割できてない FormView TodoListView StatsView AppView ControlsView ページを複数要素に分割して 小さなViewを割り当てる → コードの役割分担が明確に!
理由2: Viewに データ処理に関する コードを書いている
View Collection Model Viewにデータ処理に関する コードがたくさん含まれる → Viewのコードが長く、複雑に データ処理 データ処理 データ処理 データ処理 データ処理 データ処理
Model Collection View データ処理に関するコードは Model・Collectionへ → データ処理が再利用可能に データ処理 データ処理 データ処理 データ処理 View View
失敗談2: View同士を連携させる ためのコードを たくさん書いてしまう
理由: Model/Collection のイベントを うまく活用できてない
View 各Viewが直接連携している → 連携のためのコードが増える → 各Viewが疎結合ではなくなる View View
View View
View Modelのイベントを介して連携 → 連携のためのコードが減る → 各Viewが疎結合になる View View
View View Model
他にも 考えることは たくさん!
どんどん 情報共有 しましょー!
Let s Try
!!
おしまい
Advertisement