2011/10/15

[本]Ajaxデザインパターン ―ユーザビリティと開発効率の向上のために

読了

まえがき

第1部 イントロダクション

1章 Ajax入門
1.1 Ajaxと「使えるだけのWeb」
1.2 Ajaxの誕生
1.3 WebのAjax化――ポータルでの例
1.4 デスクトップのWeb化――オフィスアプリケーションでの例
1.5 Ajaxアプリケーションの特徴
1.6 Ajaxの構成要素
1.7 典型的な処理手順
1.8 テクノロジーの動向
1.9 まとめ

2章 チュートリアル
2.1 Ajaxのテクノロジー早わかり
2.2 WebアプリケーションのAjax化(デザインパターンを順次適用)
2.3 プロジェクトと「型」
2.4 まとめ

3章 デザインの原則とデザインパターン
3.1 Ajaxアプリケーションが満たすべき性質
3.2 Ajaxアプリケーションの設計原則
3.3 Ajaxデザインパターンの全体像
3.4 デザインパターンの構成
3.5  サンプルコードへのアクセス
3.6 まとめ

第2部 基盤技術のパターン

4章 Ajax Appパターン
4.1 Ajax Appパターン――Ajaxアプリケーション

5章 表示の更新
5.1 Display Morphingパターン――要素の外見に対する変更
5.2 Page Rearrangementパターン――コンテンツの再配置

6章 Webを使った遠隔呼び出し
6.1 Web Serviceパターン――Webサービス
6.2 XMLHttpRequest Callパターン――XMLHttpRequestを使った呼び出し
6.3 IFrame Callパターン――IFrameを使った呼び出し
6.4 HTTP Streamingパターン――長時間にわたる接続
6.5 On-Demand JavaScriptパターン――スクリプトの動的ダウンロード

7章 動的な振る舞い
7.1 User Actionパターン――ユーザーの操作への応答
7.2 Schedulingパターン――定時実行

8章 アプリケーションの拡張
8.1 Richer Pluginパターン――非Ajaxのプラグイン

第3部 プログラミングのパターン

9章 Webサービス
9.1 RESTful Serviceパターン――RESTの原則に従ったサービス
9.2 RPC Serviceパターン――RPCベースのサービス
9.3 Ajax Stubパターン――遠隔呼び出しの簡易化
9.4 HTML Messageパターン――HTML形式のメッセージ
9.5 Plain-Text Messageパターン――プレインテキスト形式のメッセージ
9.6 XML Messageパターン――XML形式のメッセージ
9.7 JSON Messageパターン――JSON形式のメッセージ

10章 サーバーとの通信
10.1 Call Trackingパターン――呼び出し状況の管理
10.2 Periodic Refreshパターン――定期的なデータの取得
10.3 Submission Throttlingパターン――送信回数の削減
10.4 Explicit Submissionパターン――明確な送信の操作
10.5 Distributed Eventsパターン――オブジェクトの遠隔同期
10.6 Cross-Domain Proxyパターン――他サイトへのリクエスト

11章 DOMの操作
11.1 XML Data Islandパターン――HTMLに埋め込まれたXML
11.2 Browser-Side XSLTパターン――XSLTによるHTMLの生成
11.3 Browser-Side Templatingパターン――穴埋めによるHTMLの生成

12章 コードの生成と再利用
12.1 Server-Side Code Generationパターン――コンテンツの自動生成
12.2 Cross-Browser Componentパターン――ブラウザ間の互換性

13章 処理性能の向上
13.1 Browser-Side Cacheパターン――ブラウザ側での独自のキャッシュ
13.2 Predictive Fetchパターン――処理の先読み
13.3 Guesstimateパターン――データの推測
13.4 Multi-Stage Downloadパターン――時間差ダウンロード
13.5 Fat Clientパターン――ブラウザ側へのロジックの移転

第4部 機能と使いやすさのパターン

14章 ウィジェット
14.1 Sliderパターン――スライダー
14.2 Progress Indicatorパターン――進行状況の表示
14.3 Drilldownパターン――階層構造へのアクセス
14.4 Data Gridパターン――高機能な表
14.5 Rich Text Editorパターン――WYSIWYGエディタ
14.6 Suggestionパターン――候補の提示
14.7 Live Searchパターン――検索結果のリアルタイム表示
14.8 Live Command-Lineパターン――Ajax式コマンドライン
14.9 Live Formパターン――変化するフォーム

15章 ページ構成
15.1 Drag-And-Dropパターン――ドラッグ&ドロップ
15.2 Spriteパターン――スプライト
15.3 Popupパターン――ポップアップ
15.4 Malleable Contentパターン――その場で編集可能なコンテンツ
15.5 Microlinkパターン――コンテンツが挿入されるリンク
15.6 Portletパターン――独立したポータルの部品
15.7 Status Areaパターン――ステータス領域
15.8 Update Controlパターン――更新頻度の指定
15.9 Virtual Workspaceパターン――大量のデータの表示

16章 表示効果
16.1 One-Second Spotlightパターン――短時間のハイライト表示
16.2 One-Second Mutationパターン――形状の変化
16.3 One-Second Motionパターン――表示項目の移動
16.4 Highlightパターン――ハイライト表示

17章 新しい機能
17.1 Lazy Registrationパターン――プロファイル情報の収集
17.2 Direct Loginパターン――同一ページ内でのログイン
17.3 Host-Proof Hostingパターン――ブラウザ側での暗号化
17.4 Timeoutパターン――非アクティブ状態の検出
17.5 Heartbeatパターン――アクティブ状態の通知
17.6 Unique URLsパターン――[戻る]ボタンやブックマークへの対応

第5部 アプリケーション開発のパターン

18章 問題の判別
18.1 Loggingパターン――ブラウザ側でのログの記録
18.2 Debuggingパターン――JavaScriptのデバッグ
18.3 DOM Inspectionパターン――DOMの検査
18.4 Traffic Sniffingパターン――通信内容のモニタリング

19章 テスト
19.1 Simulation Serviceパターン――ダミーのサービス
19.2 Browser-Side Testパターン――ブラウザ側のコードに対するテスト
19.3 Service Testパターン――サービスに対するテスト
19.4 System Testパターン――システム全体に対するテスト

第6部 付録

付録A Ajaxフレームワークとライブラリ
A.1 JavaScriptによる多目的フレームワーク
A.2 JavaScriptによる遠隔呼び出し用フレームワーク
A.3 JavaScriptによる表示効果のためのフレームワーク
A.4 JavaScriptによるFlash向けフレームワーク
A.5 JavaScriptよるXML処理向けフレームワーク
A.6 JavaScriptによる特定用途のフレームワーク
A.7 多言語対応のAjaxフレームワーク
A.8 C++によるAjaxフレームワーク
A.9 ColdFusionによるAjaxフレームワーク
A.10 .NETによるAjaxフレームワーク
A.11  JavaによるAjaxフレームワーク
A.12 LispによるAjaxフレームワーク
A.13 PerlによるAjaxフレームワーク
A.14 PHPによるAjaxフレームワーク
A.15 PythonによるAjaxフレームワーク
A.16 RubyによるAjaxフレームワーク

付録B サンプルコードのセットアップ

付録C パターンとパターン言語について

付録D 参考文献

索引

囲み記事
デスクトップアプリケーションの使い勝手を取り戻す
Webアプリケーションに移行する理由
HTTPストリーミングの現実性
PHPではflush()を忘れずに
イベント処理の仕組み
ショートカットとして使うべきキー
URLとURI
Google AcceleratorとBackpackが引き起こした問題
PUTとDELETEのサポート
デバッグすべきか、せざるべきか
モック、スタブ、シミュレーション
xUnitフレームワーク

via:目次
現マネージャーから突然いただいた一冊。
部類の本好きにはたまりませんなー。

これでもかというほど、ajaxのデザインパターンが網羅されている。

これさえあれば、ajaxを使った基本設計は迷わないような気がしております。

ただ、出版されたのが2007年なのでレスポンス形式がxml中心となっている。
なので、この部分についてはJSONで考えたほうがいいのかなーっと。
さらに、今は、JSONPもあるから、それも考慮する必要がある。

ライブラリについても同様で、prototype.jsscript.aculo.usが使われているが、現在メジャーなjQueryを考慮するといいかもしれない。


0 コメント:

コメントを投稿