Ajax推進委員会
監修:ゼロベース
2005/8/2

 古い技術に付けられた新しい名前

 Ajaxが注目されてきた経緯を見てみよう。2004年から2005年にかけてGoogleは、いくつかの注目されるWebアプリケーションをGoogle Labsで公開した。例えば、Google SuggestやGoogle Mapsだ。

画面3 Google Suggest(画面をクリックして拡大表示)

▽ Google Suggest(http://www.google.co.jp/webhp?complete=1&hl=ja)は、検索ボックスに入力されたキーワードに応じて、関連する検索キーワードやそのヒット数などが動的に表示されるGoogle検索だ。

画面4 Google Maps(画面をクリックして拡大表示)

▽ Google Maps(http://maps.google.com/)は、画面遷移なしの地図アプリケーションとして、非常に注目を集めた。

 これらのアプリケーションは、Flashなどのプラグインを必要としないにもかかわらず、既存のWebアプリケーションとは異なり画面全体の切り替えを生じさせずに動的なアクションを実現するため、ユーザーの注目を集めた。そう、Ajaxで作られたアプリケーションだったのだ。

 Web開発者たちはHTMLソースを調べて、ダイナミックHTMLとJavaScriptだけでここまでの機能が実現されていることに驚いたものだ。しかし、この時点では「Ajax」という名前は存在していなかった。

 そういった中で2005年2月18日に公開されたブログのエントリが、アルファギークたちの心を打ったのだ。そのブログとは、ユーザビリティで有名なWebプロデュース業の米AdaptivePathのジェシー・ジェームス・ギャレットによる「Ajax: A New Approach to Web Applications」というエントリだった。ここで、前述のようなJavaScriptとダイナミックHTMLを使った非同期通信アプリケーションを「Ajax」と呼んだのだ。

Ajax: A New Approach to Web Applications
http://www.adaptivepath.com/publications/essays/archives/000385.php

同エントリーの日本語訳(antipopのけんたろ氏による)
http://antipop.gs/docs/translations/ajax.html

 このエントリが引き金となって、Webアプリケーション開発者たちの間に「Ajax」という言葉が一気に広がった。アルファギークたちはこの手法に興奮し、Ajaxについて語り合った。HTMLを中心とした既存のCGIなどのWebアプリケーションよりもはるかに柔軟で自由な動作ができるWebアプリケーションなのにプラグインが必要ない開発手法なのだから、無理もないだろう。

 Ajaxは何なのか。簡単にいうと、次のようなものになるだろう。

Ajaxとは、JavaScriptでXMLHttpRequestオブジェクトを利用して、ページ全体の読み込みとは非同期にサーバと通信し、ダイナミックHTMLを利用してページの必要な部分だけを書き換えるWebアプリケーションの開発手法を指す。

 クライアント側のJavaScriptプログラムがAjaxエンジンとして動作し、サーバとやりとりをしながらページを書き換えるのだ。

 要となっているのはXMLHttpRequestオブジェクトだが、これはIE 5の時点でマイクロソフトがActiveXオブジェクトとして実装したもので、XMLベースによるサーバとの通信を実現するものだ。MozillaプロジェクトではIE 5のXMLHttpRequestと互換性のあるものをMozilla 1.0で実装し、アップルはSafari 1.2からXMLHttpRequestを実装している。Operaでは7.6からXMLHttpRequestが実装されているようだ。

 XMLHttpRequestオブジェクトが初めて実装されたIE 5というと、1999年3月に公開されたものだ。Mozilla 1.0でも2002年6月に公開されている。もちろんJavaScriptは、はるか昔から存在しているし、ダイナミックHTMLという言葉が流行したのはいつの時代だったか思い出せないぐらいだ。

 「古い技術に付けられた新しい名前」と書いたが、Ajax自体は以前からあったものを利用しているだけで、「Ajax」という新しい何かが生まれたわけではないのだ。実際に、最速インターフェース研究会(http://la.ma.la/blog/)では、以前からAjaxの手法を使ったアプリケーションを開発しているし、JavaScriptだけでここまで実現できるのかと驚くほどのアクションRPGWebゲーム「TRIGRAV」(http://www.smokymonkeys.com/triglav/)は、2002年から開発されている。

画面5 TRIGRAV(画面をクリックして拡大表示)

▽ 2002年6月から公開されているアクションRPG。Ajaxという名前が流行するはるか前から存在する。

 古くからある開発手法による「JavaScriptとダイナミックHTMLを使って非同期にサーバと通信するアプリケーション」が、「Ajax」と命名されたことにより、注目されるようになり、開発側と発注側が共通の認識で開発を進めていけるようになったのだ。

2/4

 INDEX
古くて新しいAjaxの真実を見極める
  Page1<画面遷移を使わない非同期データ処理>
AjaxではないWebアプリケーションの動き/Ajaxアプリケーションの動き
  Page2<古い技術に付けられた新しい名前>
  Page3<実践Ajaxアプリケーション>
  Page4<まとめ:Ajaxとリッチクライアントの今後>
Ajaxのデメリット/Ajaxのメリット


HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間