Webアプリケーションのプレゼンテーション実装テクニックの一つ。Ajaxではサーバサイドの処理結果を表示するとき、別のページへ遷移する代わりに、ページを表示したままバックグラウンドでサーバと通信(非同期通信)し、処理結果のみを取得する。
Ajaxの基本スタイルは、XMLHttpRequestでデータを非同期に取得し、DOMでHTMLを書き換え、CSSで見た目を整形するというもの。非同期通信にはJSONP、iframeも使用される。
Ajaxスタイルのアプリケーションは2002年頃から作成されているが、一般的に広まったのは2005年以降、Ajaxと命名されるとともに爆発的に普及した。今ではWebアプリケーションを作成する上で必須の知識となっている。
AjaxはAnsynchronus JavaScript And XMLの略とされているが、こじつけである1)。AJAXというアメリカではメジャーな洗剤にちなんで命名されたというのが真相。オランダにはAjaxという強豪サッカーチームがあるが、そちらは無関係である。
非同期処理はAjaxの最も重要な要素。非同期処理を上手く導入する事でユーザインターフェースの機能性を大幅に向上する事が可能となる。最近ではAjaxを用いた疑似デスクトップ環境とも言うべきWebアプリも作成されているが、実験レベルで実用には至っていない。
現在では、これらの欠点は技術レベルの向上、ライブラリ、統合開発環境などによって改善されてきている。
Ajaxの登場によって新しいWebアプリケーションの設計が可能となった。従来の設計では、サーバでHTMLを動的に生成しレスポンスとして返しブラウザでHTMLを表示するものである。Ajaxを利用することで、サーバはデータのみを送信し、JavaScriptで静的なHTMLにデータを埋め込んで表示する、という設計が可能となった。これは先に挙げたようなAjaxの問題点のため実装が難しかったが、jQuery等ライブラリの充実やJSONという軽量データフォーマットの発明により現実的なものとなった。
UIEの中島聡氏はこのようなWebアプリケーションの設計をピュアAJAXアーキテクチャと呼び、以下の特徴を持つとしている。
ピュアAjaxアーキテクチャでは、アプリケーションサーバはMVCのモデルのみを担当し、HTMLとJavaScriptがコントローラとビューを担当する。これによってモデルをコントローラ、ビューから完全に分離することができる。