Ajaxデザインパターン

―ユーザビリティと開発効率の向上のために

[cover photo]
TOPICS
Programming , Web
発行年月日
PRINT LENGTH
704
ISBN
978-4-87311-323-4
原書
Ajax Design Patterns
FORMAT
PDF
Print
5,280円
この商品は品切れ再入荷未定です

本書の目的は、デザインパターンの概念をAjaxにも適用し、ユーザビリティに優れたWebアプリケーションの効率的な開発を可能にすることです。基盤技術からプログラミング、機能と使いやすさ、アプリケーション開発までの4つのカテゴリーで、計70のパターンを紹介します。それぞれのパターンについて、背景、問題、解決策を示し、具体例を通してそのパターンを身につけていく構成になっています。Ajaxによってできることとできないこと、実際にどのようにAjaxが利用されているか、高品質なAjaxアプリケーションのアーキテクチャ、無駄のない迅速な処理、優れた操作性などを実現するデザインパターンなどについて理解が得られるはずです。開発者だけでなく、利用者にもメリットをもたらす優れたWebアプリケーションの実現のための必須の書籍です。

目次

まえがき

第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フレームワーク