具体的なコードを用いて、Ajaxによって新たに広がった技術的な展望への理解を深めながら、Ajaxが機能する仕組みを掘り下げます。DHTMLやJavaScript、XmlHttpRequestなどAjaxの基礎からはじめて、既存のアプリケーションやサービスをAjax化するためのテクニックや、Web2.0なアプリケーションを新たに開発するための設計方法のほか、Ajaxによって開かれた現在の先に見えつつある技術的な将来展望についても議論しています。Webアプリケーション開発に必須の技術となるAjaxを基礎から理解し、応用するためのアイデアとテクニックをまとめた開発者のための実践ガイドです。
実践 Ajax
―Web2.0アプリケーション開発への手引き
Justin Gehtland, Ben Galbraith, Dion Almaer 著、宮川 達彦 監訳、加藤 慶彦 訳
- TOPICS
- Programming , Web
- 発行年月日
- 2006年10月
- PRINT LENGTH
- 276
- ISBN
- 4-87311-301-6
- 原書
- Pragmatic Ajax
- FORMAT
目次
1章 Ajaxによるリッチなインターネットアプリケーションの構築
1.1 3幕の物語
昨日
今日
明日
1.2 Google Maps:起爆剤
1.3 Ajaxとは
Ajax:Asynchronous JavaScript and XML
Ajax:アーキテクチャ
Ajax:その未来
1.4 この本で学ぶこと
2章 Google Mapsを作ろう
2.1 ロケット科学者の仕業?
2.2 独自に作るGoogle Maps
Google Mapsを解剖する
2.3 Ajaxな地図を作る
使用するブラウザについて
ステップ1:地図を作る
ステップ2:タイルを作る
ステップ3:内側のdivと外側のdivを作る
ステップ4:地図をドラッグ可能にする
ステップ5:地図のタイルを表示する
ステップ6:ズーム機能を追加する
ステップ7:マーカーと情報ダイアログ
2.4 まとめ
3章 Ajaxの仕組み
3.1 WebアプリケーションのAjax化
3.2 Ajaxによる救急措置
UIのAjax化
HTMLの整備
サーバとの通信
レスポンスの解析
全体をひとつにまとめる
全体像
3.3 その他の諸問題
クロスブラウザの問題
エラー対策
同期Ajax?
ネットワークレイテンシ
3.4 まとめ
4章 Ajaxプリミティブ
4.1 JavaScript概説
JavaScriptの基礎
関数
関数型
JavaScriptイベント:ページとの結び付け
イベントの定義
4.2 Webページの操作
縁の下のXML
XMLの変更:DOM API
DOMのショートカット
属性
4.3 データの取得
XMLHttpRequest
XMLHttpRequest詳説
4.4 まとめ
5章 Ajaxフレームワーク
5.1 フレームワーク、ツールキット、ライブラリ
リモーティングツールキット
UI ツールキット
JavaScriptをベースとした効果
AjaxなWebフレームワーク
5.2 Dojo Toolkitでのリモーティング
Dojo Toolkitとは
dojo.io.bind()に移行する
戻り型にJavaScriptを使うようdojo.io.bind()を変更する
dojo.io.bind()の高度な機能
ブラウザの「戻る」ボタンと「進む」ボタンのサポート
その他のオプション:method、content、postContent、sync、useCache
5.3 Prototypeライブラリによるリモーティング
Prototypeに移行する
5.4 まとめ
6章 Ajaxなユーザインタフェイス(1)
6.1 AjaxとJavaScriptとUI
DOMを越えてオブジェクト指向を促進するAjax
代表的なUIフレームワーク
Prototype
一般的な型に対する拡張
Element
データの挿入
フォーム
位置
Script.aculo.us
エフェクト
不透明度
移動
サイズ変更
ハイライト
並列エフェクト
複合エフェクト
高度なテクニック
Dojo
アニメーション
エフェクト
6.2 まとめ
7章 Ajaxなユーザインタフェイス(2)
7.1 Ajaxの標準的な利用法
処理中のフィードバック
更新時のフィードバック
オートコンプリート
7.2 UIのAjax化におけるアンチパターン
「戻る」ボタンに要注意
Webを特徴づけるブックマーク
GETはgetのため、POSTはdoのため
処理中はユーザに通知を
新奇さの誘惑に注意
7.3 まとめ
8章 Ajaxアプリケーションのデバッグ
8.1 ソースの表示
8.2 DOMインスペクタ
FirefoxのDOMインスペクタ
SafariのDebugメニューとDOMインスペクタ
Debugメニューを表示させる
IEのDeveloper ToolbarとDOMインスペクタ
生のソース表示
Firefoxのプラグイン
Mouseover DOM Inspector
8.3 JavaScriptのデバッグ
構文エラー
Internet Explorer
Firefox
Safari
MochiKit Interpreter
動作エラー
アラート過剰症
MochiKitのロギング機能
ステップデバッグ
Firefoxでのステップデバッグ
IEでのステップデバッグ
Safariでのステップデバッグ
8.4 まとめ
9章 デグレード可能なAjax
9.1 デグレード可能なAjaxとは
デグレードして機能し続ける
完全に拒否する
対象を絞り込む
デグレード == 完全 || クラッシュ回避
9.2 デグレード可能なAjaxアプリケーションを確実に機能させるには
従来型のWebアプリケーションをAjax化する
サブミットボタンを消す
フォームのサブミットを防止する
ToDo項目を送信する
Ajaxバージョンのまとめ
Behaviourを使ってコードを整理する
Behaviourを使う
HTMLでのデグレード
非Ajax向けに付け加える
Ajax向けにフィルタをかける
HTML以外でのデグレード
Webサービス駆動型Ajax
9.3 まとめ
10章 JSONとJSON-RPC
10.1 JSON-RPC
JSON on Rails
サーバサイド
クライアントサイド
11章 サーバサイドフレームワークインテグレーション
11.1 インテグレーションのための各種の戦略
ビジュアル開発ツール
ヘルパータグ
ORBライクなリモーティング
12章 PHPでのAjax
12.1 PHPフレームワーク
12.2 Sajax
Sajaxとは
Sajaxへの移植
バックエンドの関数を作る
Sajaxを使う
Sajaxの欠点
12.3 XOAD
手続き型からオブジェクト指向へ
バックエンドに変更を加える
再びフロントエンドへ
リッチな型を返す
XOADのその他の機能
12.4 まとめ
13章 RailsでのAjax
13.1 Ruby on Railsのアーキテクチャ
コントローラとアクション
RHTML
ヘルパ
13.2 RailsにおけるAjax統合
基本ヘルパ
ObserverとUpdater
その他の各種ヘルパ
ヘルパを使って書き換える
郵便番号フィールドを監視する
郵便番号フィールドを監視する別の方法
フィールドのオートコンプリート
13.3 RJSテンプレート
14章 JavaでのプロキシベースのAjax
14.1 DWR
DWRサーブレットをプロジェクトに追加する
DWR用の設定ファイルを作る
DWR用のJavaScriptをHTMLに追加する
DWRの設定の詳細
オブジェクトのスコープ
DWRとインスタンス化
オブジェクトのライフサイクル
任意のオブジェクトをDWRでリモーティングする
14.2 まとめ
15章 ASP.NETでのAjax
15.1 BorgWorX
15.2 Atlas
Atlasを使ってみる
JavaScriptの「改善」
コンポーネント
15.3 まとめ
16章 Ajaxのこれから
16.1 データ操作
E4X
16.2 UI操作
>canvas<タグ
>canvas<を使ったデモプログラム
IEという障害
SVG
SVGと>canvas<
16.3 将来予測
ブラウザのローカルストレージ機能
Dojoでのオフラインストレージ
Dojoについて
Flashと「Apollo」
コンパイル型のJavaScript
W3Cの新たな人生
16.4 まとめ
索引