Backbone.jsガイドブック サポートページ

Backbone.jsガイドブック
タイトル Backbone.jsガイドブック
著者
出版社 株式会社ラトルズ
発売日
本のサイズ 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. 1章 Backbone の基礎
    1. 1-1 Backbone とは何か
      1. Backbone の概要
      2. Backbone の特徴
      3. Backbone を下から支える Underscore とは
    2. 1-2 GUI MVC プログラミング
      1. JavaScript を MVC で書く理由
      2. GUI における MVC
      3. Backbone 流 MVC
    3. 1-3 Backbone オブジェクト指向プログラミング
      1. クラス拡張
      2. シングルトンパターン
      3. Mixin
    4. 1-4 Backbone.Events
      1. オブザーバパターン
      2. Events を使う
      3. 発展的な使い方
  2. 2章 Backbone オブジェクト
    1. 2-1 Backbone.Model
      1. Model の使い方
      2. ベスト・プラクティス
    2. 2-2 Backbone.Collection
      1. Collection の使い方
      2. ベスト・プラクティス
    3. 2-3 Backbone.View
      1. View の使い方
      2. ベスト・プラクティス
    4. 2-4 Backbone.Router と History
      1. Router の使い方
      2. ベスト・プラクティス
    5. 2-5 Backbone.sync
      1. デフォルトの動作
      2. sync の拡張
  3. 3章 サンプルアプリケーション「Todos」
    1. 3-1 Todos の動作を追う
      1. アプリケーションの起動
      2. Todo の作成
      3. チェックボックスの選択
      4. Todo の編集
      5. Todo の削除
      6. 一括の選択と削除
      7. まとめ
    2. 3-2 課題
      1. 1 テストを書く
      2. 2 Todos のリファクタリング
      3. 3 機能追加
  4. 4章 JavaScript におけるモジュール管理
    1. 4-1 RequireJS
      1. インストールと JavaScript ファイルのロード
      2. モジュールの定義
      3. RequireJS の設定
      4. プラグイン
    2. 4-2 r.js
      1. r.js の使い方
      2. r.js の設定項目
      3. 設定例
  5. 5章 アプリケーションのテスト
    1. 5-1 QUnit
      1. QUnit の準備
      2. テストの作成
      3. 複数のテストをまとめる
      4. DOM 操作をする処理のテスト
      5. 非同期処理を含む処理のテスト
      6. テストの進行状況をフックする
      7. RequireJS を使っている場合
      8. Sinon によるテストダブル
    2. 5-2 Jasmine
      1. Jasmine の準備
      2. スペックの作成
      3. DOM 操作をする処理のテスト
      4. 非同期処理を含む処理のテスト
      5. スペックを無効にする
      6. テストダブル
    3. 5-3 Backbone のテスト
      1. どこまでテストするか
      2. View は DOM 操作を極力切り出す
      3. XSS のテスト
      4. 同期処理のテスト
      5. イベントハンドラに対するスパイを設定する
  6. 6章 タスクの自動化
    1. 6-1 npm
      1. npm のインストール
      2. パッケージのインストール
    2. 6-2 Grunt
      1. Grunt のインストール
      2. 設定ファイルの書き方
      3. タスクを作る
      4. プラグイン
  7. 7章 Backbone アプリケーションの開発
    1. 7-1 開発環境のセットアップ
      1. ファイル校正
      2. RequireJS の設定
    2. 7-2 PC サイトの作成
      1. モデルの設計
      2. Router と AppView
      3. 連絡先一覧の表示
      4. 連絡先の作成機能
      5. Contact のバリデーション
      6. 連絡先の詳細表示
      7. 連絡先の編集
      8. デプロイの準備
      9. 今後の展望
    3. 7-3 jQuery Mobile を用いたモバイルアプリの開発
      1. jQuery Mobile とは
      2. jQuery Mobile の基礎
      3. jQuery Mobile のセットアップ
      4. Page の実装
      5. Router の作成
      6. 各ページの実装
      7. アプリケーションの起動
      8. 今後の展望
  8. 付録
    1. A Underscore.js リファレンス
    2. B Backbone.js リファレンス
    3. C jQuery.Deferred
    4. D Rails で Backbone を使う
  9. コラム
    1. Backbone は MV◯ である論争
    2. なぜコンテキストの指定が必要か
    3. なぜ listenTo と stopListening が導入されたか
    4. Underscore より速い? Lo-Dash
    5. jQuery より軽量? Zepto
    6. ステートパターン
    7. プラグイン紹介その 1 - Backbone.relational
    8. プラグイン紹介その 2 - backbone-forms
    9. プラグイン紹介その 3 - Marionette
    10. プラグイン紹介その 4 - Backbone Boilerplate
    11. Ajax と pushState
    12. HTTP PATCH メソッドとは
    13. デフォルトの Backbone.sync() を使っている場合
    14. 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?