Backbone.jsガイドブック サポートページ
タイトル | Backbone.jsガイドブック |
---|---|
著者 | 高橋侑久 |
出版社 | 株式会社ラトルズ |
発売日 | 2013-04-25 |
本のサイズ | B5判/1色刷 280ページ |
ISBN-13 | 978-4-89977-350-4 |
内容紹介
USA Today、LinkedIn Mobile、Hulu、WordPress.com、Foursquare 等々有名サイトがこぞって採用している Backbone.js に、日本初のガイドブックが登場。 JavaScript の大規模開発に今注目されているフレームワークが Backbone.js です。
本書は、プログラマの技術情報共有サービス Qiita での連載「Backbone.js入門」をもとに、著者がその後1年に亘ってBackboneを使ってきた中で得た経験を踏まえ、かなり大きく加筆修正したものです。 最大の変更点は最新のメジャーバージョンリリースである Backbone1.0 (2013年3月リリース)への完璧対応です。
ドキュメントにはなかなか書かれないベストプラクティス、デザインパターン、アンチパターンといったノウハウや、 Backboneが中~大規模アプリケーションを実装するためのフレームワークであることから、それを支える周辺技術(モジュール管理、テスト、タスク自動化など)についても大きく取り上げています。
またこれらの知識を総動員したチュートリアルを用意しました。 チュートリアルではBackboneが最も得意とするSPA形式のアプリケーションと、jQueryMobileを用いたモバイルサイトの実装を行いますので、より実際のコーディングにBackbone.jsを生かせます。
もくじ
- 1章 Backbone の基礎
- 1-1 Backbone とは何か
- Backbone の概要
- Backbone の特徴
- Backbone を下から支える Underscore とは
- 1-2 GUI MVC プログラミング
- JavaScript を MVC で書く理由
- GUI における MVC
- Backbone 流 MVC
- 1-3 Backbone オブジェクト指向プログラミング
- クラス拡張
- シングルトンパターン
- Mixin
- 1-4 Backbone.Events
- オブザーバパターン
- Events を使う
- 発展的な使い方
- 2章 Backbone オブジェクト
- 2-1 Backbone.Model
- Model の使い方
- ベスト・プラクティス
- 2-2 Backbone.Collection
- Collection の使い方
- ベスト・プラクティス
- 2-3 Backbone.View
- View の使い方
- ベスト・プラクティス
- 2-4 Backbone.Router と History
- Router の使い方
- ベスト・プラクティス
- 2-5 Backbone.sync
- デフォルトの動作
- sync の拡張
- 3章 サンプルアプリケーション「Todos」
- 3-1 Todos の動作を追う
- アプリケーションの起動
- Todo の作成
- チェックボックスの選択
- Todo の編集
- Todo の削除
- 一括の選択と削除
- まとめ
- 3-2 課題
- 1 テストを書く
- 2 Todos のリファクタリング
- 3 機能追加
- 4章 JavaScript におけるモジュール管理
- 4-1 RequireJS
- インストールと JavaScript ファイルのロード
- モジュールの定義
- RequireJS の設定
- プラグイン
- 4-2 r.js
- r.js の使い方
- r.js の設定項目
- 設定例
- 5章 アプリケーションのテスト
- 5-1 QUnit
- QUnit の準備
- テストの作成
- 複数のテストをまとめる
- DOM 操作をする処理のテスト
- 非同期処理を含む処理のテスト
- テストの進行状況をフックする
- RequireJS を使っている場合
- Sinon によるテストダブル
- 5-2 Jasmine
- Jasmine の準備
- スペックの作成
- DOM 操作をする処理のテスト
- 非同期処理を含む処理のテスト
- スペックを無効にする
- テストダブル
- 5-3 Backbone のテスト
- どこまでテストするか
- View は DOM 操作を極力切り出す
- XSS のテスト
- 同期処理のテスト
- イベントハンドラに対するスパイを設定する
- 6章 タスクの自動化
- 6-1 npm
- npm のインストール
- パッケージのインストール
- 6-2 Grunt
- Grunt のインストール
- 設定ファイルの書き方
- タスクを作る
- プラグイン
- 7章 Backbone アプリケーションの開発
- 7-1 開発環境のセットアップ
- ファイル校正
- RequireJS の設定
- 7-2 PC サイトの作成
- モデルの設計
- Router と AppView
- 連絡先一覧の表示
- 連絡先の作成機能
- Contact のバリデーション
- 連絡先の詳細表示
- 連絡先の編集
- デプロイの準備
- 今後の展望
- 7-3 jQuery Mobile を用いたモバイルアプリの開発
- jQuery Mobile とは
- jQuery Mobile の基礎
- jQuery Mobile のセットアップ
- Page の実装
- Router の作成
- 各ページの実装
- アプリケーションの起動
- 今後の展望
- 付録
- A Underscore.js リファレンス
- B Backbone.js リファレンス
- C jQuery.Deferred
- D Rails で Backbone を使う
- コラム
- Backbone は MV◯ である論争
- なぜコンテキストの指定が必要か
- なぜ listenTo と stopListening が導入されたか
- Underscore より速い? Lo-Dash
- jQuery より軽量? Zepto
- ステートパターン
- プラグイン紹介その 1 - Backbone.relational
- プラグイン紹介その 2 - backbone-forms
- プラグイン紹介その 3 - Marionette
- プラグイン紹介その 4 - Backbone Boilerplate
- Ajax と pushState
- HTTP PATCH メソッドとは
- デフォルトの Backbone.sync() を使っている場合
- Backbone の生みの親 Jeremy Ashkenas 氏
サンプルへのリンク
『3章 サンプルアプリケーション 「Todos」』 の課題と 『7章 Backbone アプリケーションの開発』のソースコードとアプリケーションへのリンクです。
ソースコード | https://github.com/taka84u9/backbone-sample |
---|---|
アプリケーション | http://taka84u9.github.com/backbone-sample |
正誤表
ページ | 誤り | 正解 |
---|---|---|
p.92 中段 | _.empty |
_.isEmpty
またこのif文は直前に buffers[base].push() を実行していることから不要です。
|
p.229 isEmpty | 配列やオブジェクトが要素を含めば真を返します。 | 配列やオブジェクトが要素を含まなければ真を返します。 |
ページのデザインについて
Backbone では一貫性のためにbackbonejs.org と同様のスタイルを各プラグインのページが採用することが推奨・許可されています。 本ページでもその流れに沿って、ページのデザインを意図的に backbonejs.org と似せています。
参照: Okay to use the styling/layout of Backbone's docs for Backbone-relational?