実践 Ajax

―Web2.0アプリケーション開発への手引き

[cover photo]
TOPICS
Programming , Web
発行年月日
PRINT LENGTH
276
ISBN
4-87311-301-6
原書
Pragmatic Ajax
FORMAT

具体的なコードを用いて、Ajaxによって新たに広がった技術的な展望への理解を深めながら、Ajaxが機能する仕組みを掘り下げます。DHTMLやJavaScript、XmlHttpRequestなどAjaxの基礎からはじめて、既存のアプリケーションやサービスをAjax化するためのテクニックや、Web2.0なアプリケーションを新たに開発するための設計方法のほか、Ajaxによって開かれた現在の先に見えつつある技術的な将来展望についても議論しています。Webアプリケーション開発に必須の技術となるAjaxを基礎から理解し、応用するためのアイデアとテクニックをまとめた開発者のための実践ガイドです。

目次

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 まとめ

索引