Ajaxデザインパターン - 基本パターン | Ouobpo

Ajaxデザインパターン - 基本パターン

 基本パターン(Foundational Technology patterns)は、いわゆるAjaxアプリケーションと呼ばれるものの基礎となる技術をパターン化したもの。

Michael Mahemoff, 牧野 聡, Ajaxデザインパターン ―ユーザビリティと開発効率の向上のために

Ajax App (Ajaxアプリ)
 リッチアプリケーションを構築する一手段として、JavaScriptというブラウザ標準技術を使ったAjaxアプリケーションがある。

【画面操作】
Display Morphing (表示要素の変形)
 Ajaxアプリで画面を動的に変更するには、HTMLをDOMとしてJavaScriptから操作する。
 
Page Rearrangement (ページの再レイアウト)
 Ajaxアプリでページのレイアウトを動的に変更するには、DOMを操作し、CSSの visibility スタイルと display スタイルを使って、DOMノードの可視性を操作することで行なう。

【リモート通信】
Web Service (Webサービス)
 Ajaxアプリがブラウザから呼び出すのは、サーバが提供する粒度の細かいWebサービスである。

XMLHttpRequest Call (XMLHTTPRequest呼び出し)
 AjaxアプリがWebサービスを呼び出す1つの方法として、XMLHttpRequestオブジェクトを使う方法がある。Ajaxアプリの作り方としては、こちらが一般的である。

IFrame Call (IFrame呼び出し)
 AjaxアプリがWebサービスを呼び出すもう1つの方法に、IFrameを使う方法がある。こちらの方法はマイナーだが、古いブラウザでも使える、ブックマークや履歴を残せるなどの利点もある。

HTTP Streaming (HTTPストリーミング)
 通常はブラウザからサーバを呼び出すが、逆にサーバ側から処理をコントロールしたいときは、HTTPストリーミングを使う。HTTPストリーミングは、HTTP接続を切らずに保持しつづけておいて、サーバからデータを流しつづけることで実現する。

On-Demand JavaScript (オンデマンドJavaScript)
 複雑なAjaxアプリになると、それだけロードすべきJavaScriptの量も膨らむ。そこで、必要なときに必要なJavaScriptだけ後からロードするのが、オンデマンドJavaScriptの仕組みである。オンデマンドJavaScriptの実現方法には、(1) <script>タグを生成する方法と、(2) サーバから受け取ったJavaScriptを eval 関数で評価する方法とがある。

【動的振舞】
User Action (ユーザアクション)
 Ajaxアプリがユーザのアクションに対して動的にレスポンスを返すには、JavaScriptのイベントハンドラを使う。

Scheduling (スケジューリング)
 ユーザに対するリアクションでなくて、一定のスケジュールで処理を実行したいときは、JavaScriptの setTimeout 関数を使う。

【拡張技術】
Richer Plugin (高機能プラグイン)
 Ajaxアプリをさらにリッチにしたいときは、FlashやIEのActive X、Firefoxのエクステンションなどの外部プラグインを利用する。

>> もくじに戻る