AjaxとRIA


 Ajax(エージャックス)という名前を見る機会が多くなりました(数年後には当たり前になってしまって聞かなくなる可能性の方が高いかもしれません)。Ajaxは「Asynchronous JavaScript + XML」の省略語です。これは日本語にすると非同期通信を利用したJavaScriptとXML、つまりJavaScriptを利用して非同期通信を行いXMLデータでサーバーとのやりとりを行うもの、ということです(実際のところ、Ajaxという用語自体、後付けで命名されたようなものですが)。
 ところがAjaxの名前が急速に広がるにつれて、もう1つの意味も持つようになっています。それはRIA (Rich Internet Application:リッチ インターネット アプリケーション) としての捉え方です。これはGoogleが公開しているGoogle MapsやGmailなどAjaxを利用したサービスが有名になったため、このようなサービスを指してAjaxと呼ばれる事があります。つまりJavaアプレットやFlashで作成されたRIAサイトと同等なものといえます。

 この学習用の以後のページでAjaxと記述してある場合には、技術名称としてのもの (Asynchronous JavaScript + XML) とし、特に明示していない限りはRIAとしてのAjaxではないものとします。

 AjaxはJavaやFlashなどと異なり、新しいアプリケーションやプラグインなどを利用したものではなく、既存技術を組み合わせたものです。その既存技術とは以下のものを示します。
 これらを組み合わせ、さらにHTTP通信を行っているのがAjaxを利用したページ(サイト)になります。既存技術を利用したのであれば、IBMホームページビルダーなどが扱える素人や中級者でも何とかなりそうですが、実際には超えるべき障害が多く、上級者でも苦労することがあります(*1)。これについては後のち説明します。

 HTML+CSS+JavaScriptを組み合わせて何かするものと言えばDHTML (Dynamic HTML:ダイナミックHTML) があります。このDHTMLとAjaxは、どう違うのでしょうか?


*1) 2006年7月時点ではいくつかのライブラリ(prototype.jsやDojo、Yahoo UI Libraryなど)が用意され、さらに各種フレームワークが用意/整備されつつあります。これらのライブラリやフレームワークを利用することで以前よりも手軽にブラウザや環境の違いを気にしなくてよくなってきています。また、FlexのようにAjax + Flashの組み合わせを利用することもできるようになりました(FlexはGoogle Financeなどで使われています)。

[2:AjaxとDHTMLへ]
[目次へ]

(2005.12.14)