Webサイト制作

Backbone.jsガイドブック

USA Today、LinkedIn Mobile、Hulu、WordPress.com、Foursquare 等々
有名サイトがこぞって採用している、JavaScript の大規模開発に現在注目されて
いるフレームワークBackbone.jsに、日本初のガイドブックが登場。
本書は、プログラマの技術情報共有サービスQiitaでの連載「Backbone.js入門」を
もとに、著者がその後1年に亘ってBackboneを使ってきた中で得た経験を踏まえ、
かなり大きく加筆修正したものです。最大の変更点は最新のメジャーバージョン
リリースであるBackbone1.0(2013年3月リリース)への完璧対応です。
ドキュメントにはなかなか書かれないベストプラクティス、デザインパターン、
アンチパターンといったノウハウや、Backboneが中~大規模アプリケーションを
実装するためのフレームワークであることから、それを支える周辺技術(モジュール
管理、テスト、タスク自動化など)についても大きく取り上げています。またこれらの
知識を総動員したチュートリアルを用意しました。チュートリアルではBackboneが
最も得意とするSPA形式のアプリケーションと、jQueryMobileを用いたモバイル
サイトの実装を行いますので、より実際のコーディングに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とは何か
1-2 GUI MVCプログラミング
1-3 Backboneオブジェクト指向プログラミング
1-4 Backbone.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の準備
テストの作成
複数のtestをまとめる
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の作成
各ページの実装
アプリケーションの起動
今後の展望
付録 APPENDIX
A Underscore.jsリファレンス
B Backbone.jsリファレンス
C jQuery.Deferred
D RailsでBackboneを使う
1 Backboneの基礎
1-1 Backboneとは何か
1-2 GUI MVCプログラミング
1-3 Backboneオブジェクト指向プログラミング
1-4 Backbone.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の準備
テストの作成
複数のtestをまとめる
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の作成
各ページの実装
アプリケーションの起動
今後の展望
付録 APPENDIX
A Underscore.jsリファレンス
B Backbone.jsリファレンス
C jQuery.Deferred
D RailsでBackboneを使う

★★★★★
Backbone.js を使ったクライアントサイドアプリケーションの開発のガイドブック
2013/05/16

タイトルは 『BACKBONE.JS ガイドブック』 ですが、内容的には 「Backbone.js を使ったクライアントサイドアプリケーションの開発のガイドブック」 という感じで、Backbone.js の話だけでなく、QUnit を使ったテストやオゾンモジュール管理やタスク管理の話も書かれています。
最近は web 上でも Backbone.js の話を目にする機会が増えてきましたが、Backbone.js を使おうとしてもなかなか馴染めないという人、何を見て勉強すればいいのかわからない、という人も多いのではないでしょうか。 本書は、「Backbone.js を使ってクライアントサイドアプリケーションを作るならこうすればよい」 という基本的な Backbone.js の使い方の説明や Backbone.js を使うときに 「こうすればよい」 とか 「これはしてはいけない」 といったベストプラクティスとアンチパターンの紹介をしており、Backbone.js を使ってみようという人にとって最適な内容になっています。
また、最初にも書いた通り Backbone.js の話だけでなく開発を進めるうえで役立つツールの紹介もなされており、そちらもわかりやすい内容になっています。 最近よく使われるツールが紹介されているので web 上の情報を追いかけている人にとってはなじみのものばかりかもしれませんが、そうでない人にとっては有益であると思います。
Backbone.js を使ったクライアントサイドアプリケーションの開発を始めてみよう、という人にオススメです!
最近は web 上でも Backbone.js の話を目にする機会が増えてきましたが、Backbone.js を使おうとしてもなかなか馴染めないという人、何を見て勉強すればいいのかわからない、という人も多いのではないでしょうか。 本書は、「Backbone.js を使ってクライアントサイドアプリケーションを作るならこうすればよい」 という基本的な Backbone.js の使い方の説明や Backbone.js を使うときに 「こうすればよい」 とか 「これはしてはいけない」 といったベストプラクティスとアンチパターンの紹介をしており、Backbone.js を使ってみようという人にとって最適な内容になっています。
また、最初にも書いた通り Backbone.js の話だけでなく開発を進めるうえで役立つツールの紹介もなされており、そちらもわかりやすい内容になっています。 最近よく使われるツールが紹介されているので web 上の情報を追いかけている人にとってはなじみのものばかりかもしれませんが、そうでない人にとっては有益であると思います。
Backbone.js を使ったクライアントサイドアプリケーションの開発を始めてみよう、という人にオススメです!