Ajax(エイジャックス、アジャックス)は、
ウェブブラウザ内で
非同期通信とインターフェイスの構築などを
行う技術の総称。XMLHttpRequest(
HTTP通信を
行うための
JavaScript組み込み
クラス)による
非同期通信を利用し、通信結果に応じて
ダイナミックHTMLで動的にページの一部を書き換えるというアプローチを取る。
AjaxはAsynchronous
JavaScript + XML の略で、2005年2月18日に米国のインフォメーションアーキテクトであるJesse James Garrett氏により名付けられた。
概要
従来のWebアプリケーションでは、
サーバにリクエストを送信後、レスポンスを新たに
ウェブページとして受け取り画面遷移が発生していたが、
Ajaxにより画面遷移を伴わない動的なWebアプリケーションの製作が実現可能になる。例えばWeb検索に応用することで、従来は入力確定後に
行っていた検索を、ユーザがキー入力をする間に
バックグラウンドで
行うことによってリアルタイムに検索結果を表示していくといったことが可能になる。
Webブラウザのみで動作する(別途
プラグインを要求しない)、既存の技術の組み合わせであることが特徴。技術自体はこの用語が発生する前から存在していたが、
Ajaxという名前が付けられたこと、
Googleが
Google マップや
Google サジェストにこの技術を利用したことで有名になり、Webアプリケーションの可能性を広げるものとして注目され始めた。さらに、
Googleでは、
デスクトップアプリケーションと遜色のない
電子メールクライアントである
Gmailや
Google Calendarでも積極的に
Ajaxを採用し、
Ajaxの実用性が
GoogleのWebアプリケーションを通じて世間に認知されはじめている。
AjaxによるWebプログラミング(Webアプリケーション製作)が注目されだした背景には、この従来のページ遷移のみに頼ったWebの使い勝手の悪さに対する不満や、XML、
DOMなどのWeb関連技術の標準化(
ウェブ標準)、および高い機能を持った
Webブラウザの普及などが挙げられる。
また、
ダウンロード型アプリケーションは、マニア層から先に広がりにくい、競合が
OSメーカーとなったときに競争に負けてしまう、といった問題を抱えているため、
ダウンロード型アプリケーションからWebアプリケーションに切り替える技術として、
Ajaxが利用されている。
DHTMLが登場した当時は、単にお遊び要素に過ぎないと考えられていた動的ページだが、
JavaScriptをより効果的に使うことで、業務や実用に耐える優秀な
インターフェースを備えたアプリケーションを
HTMLで作ることが可能であったという事実を世の中に知らしめたという意義をもつ技術である。