FlexやSilverlightの代わりにJavaScriptを使ってリッチクライアントアプリケーション(RIA)を開発するための解説書。著者Alex MacCawはSpine*1の作者。
ざっくりした内容
この本には二つのテーマがある。
- 表テーマ:「最新のJavaScriptアプリケーションを開発する際に必要な作業のすべてを、本書で紹介します。」
- 裏テーマ:「MVCフレームワークの作り方を説明し、完成品がこちらとSpineを出す。JavaScriptフレームワーク 3分間クッキング」
全体としては270ページに内容盛り込みすぎ。
目次
- まえがき
- 1章 MVCとクラス
- 1.1 初期の JavaScript
- 1.2 アプリケーションの構造化
- 1.3 MVCとは
- 1.4 モジュール性のためのクラス設計
- 1.5 クラスへの関数の追加
- 1.6 クラスライブラリへのメソッドの追加
- 1.7 プロトタイプを使ったクラスの継承
- 1.8 クラスライブラリに継承を追加する
- 1.9 関数呼び出し
- 1.10 有効範囲を制限する
- 1.11 プライベート関数の追加
- 1.12 その他のクラスライブラリ
- 2章 イベントと監視
- 2.1 イベントの監視
- 2.2 イベントの発生順序
- 2.3 イベント処理のキャンセル
- 2.4 イベントオブジェクト
- 2.5 イベントライブラリ
- 2.6 コンテキストの変化
- 2.7 イベントの委譲
- 2.8 カスタムイベント
- 2.9 カスタムイベントと jQueryプラグイン
- 2.10 非 DOMイベント
- 3章 モデルとデータ
- 4章 コントローラと内部状態
- 4.1 Moduleパターン
- 4.2 コンテキストの定義
- 4.3 状態機械
- 4.4 ルーティング
- 5章 ビューとテンプレート
- 5.1 ビューの動的な描画
- 5.2 テンプレート
- 5.3 バインディング
- 6章 依存性の管理
- 6.1 CommonJS
- 6.2 モジュールローダー
- 6.3 複数のモジュールのラッピング
- 6.4 その他の依存性管理ツール
- 6.5 FUBC
- 7章 ファイルの操作
- 7.1 各ブラウザの対応状況
- 7.2 ファイルについての情報の取得
- 7.3 ファイル用 inputタグ
- 7.4 ドラッグ&ドロップ
- 7.5 コピー&ペースト
- 7.6 ファイルの読み込み
- 7.7 カスタムの参照ボタン
- 7.8 ファイルのアップロード
- 7.9 ドラッグ&ドロップ対応アップローダー
- 8章 リアルタイム Web
- 8.1 リアルタイム Webの歴史
- 8.2 WebSocket
- 8.3 リアルタイムアーキテクチャ
- 8.4 体感速度
- 9章 テストとデバッグ
- 9.1 ユニットテスト
- 9.2 ドライバ
- 9.3 無人テスト
- 9.4 分散テスト
- 9.5 サポートの提供
- 9.6 インスペクタ
- 9.7 JavaScriptコンソール
- 9.8 デバッガ
- 9.9 ネットワークリクエストの分析
- 9.10 プロファイリングと計測
- 10章 アプリケーションのデプロイ
- 10.1 処理速度
- 10.2 キャッシュ
- 10.3 コードの最小化
- 10.4 GZIP圧縮
- 10.5 CDN
- 10.6 監査
- 10.7 参考資料
- 11章 Spineライブラリ
- 11.1 セットアップ
- 11.2 クラス
- 11.3 イベント
- 11.4 モデル
- 11.5 コントローラ
- 11.6 連絡先管理アプリケーションの作成
- 12章 Backboneライブラリ
- 12.1 モデル
- 12.2 コレクション
- 12.3 ビュー
- 12.4 コントローラ
- 12.5 サーバとの同期
- 12.6 ToDoリストアプリケーションの作成
- 13章 JavaScriptMVCライブラリ
- 13.1 セットアップ
- 13.2 クラス
- 13.3 モデル