Ajax@20100304122407

Asynchronous JavaScript + XML の略称。2005年2月18日に Jesse James Garrett が書いた記事が初出。

JavaScript の組み込みクラスである XMLHttpRequest を利用した非同期通信を利用して、ウェブブラウザ上で既存の枠組みにとらわれないインタフェースを実現するための技術。実際には Ajax という技術が存在しているわけではなく、DHTML (JavaScript + CSS) と XMLHttpRequest にサーバーサイドのウェブアプリケーションとを加えたあわせ技のことを Ajax と呼ぶようになった。

Ajax を用いて構築されたインタフェースの代表例として Google Suggest や Google Maps がある。

Google Suggest は検索語句を一文字入力するごとに、その語句を推測して候補を表示する。この際、画面遷移を伴わずに候補が絞り込まれていく様子が画期的であるが、この裏側では XMLHttpRequest による非同期通信が発生している。つまり、検索語が入力されるたびそのイベントハンドラにフックして XMLHttpRequest によりサーバーからリストを取得し、それを表示しているのである。

一方 Google Maps は Java アプレットや Flash などの技術を使うことなしに、マウスで動かせる地図をブラウザ組み込みの技術のみで実現している。閲覧している地図が境界に達する前にマウスの動きに反応して、次に読み込むべき地図を非同期通信により取得している。

Ajax の要素には XML も含まれているが、実際には XMLHttpRequest で取得した HTML ソースを innerHTML で流し込むという方法もよく使われるため、必ずしも XML による通信がなければいけないというわけではないようだ。すなわち、XMLHttpRequest における非同期通信機能がその肝である。

*refer*参照文献
-[http://adaptivepath.com/publications/essays/archives/000385.php:title=adaptive path ≫ ajax: a new approach to web applications] (Ajax の初出記事)
--[http://antipop.gs/docs/translations/ajax.html:title=Ajax: Web アプリケーション開発の新しいアプローチ] (上記記事の日本語訳)

*keyword*関連キーワード
-[[XMLHttpRequest]]
-[[JavaScript]]
-[[XML]]
-[[CSS]]・[[スタイルシート]]
-[[Google Maps]]・[[Google マップ]]
-[[Google Suggest]]・[[Googleサジェスト]]
-[[Sjax]]
-[[DOM]]