Ajax
読み:えいじゃっくす
外語:Ajax: Asynchronous JavaScript And XML
JavaScriptから「非同期」に通信を行なってXMLデータを取得し、その内容を取り扱う手法。
概要
Ajaxが普及する遥か前であるまだ20世紀だった頃、Netscape CommunicatorとInternet Explorerの間で勃発した熾烈な争い「ブラウザー戦争」の中でDOMやダイナミックHTML(DHTML)が誕生し、JavaScriptで画面を書き換えるという基本的な機能が整えられていった。
当時はブラウザー間で互換性がなく、このためあまり本格的に使おうという動きにはならなかった。とはいえ、jQueryなどが普及する前だったこの頃より、簡単ではなかったがJavaScriptから非同期にWebアクセスして情報を得て画面を書き換えることが可能となり、動的でかつ実用的なWebアプリケーションを作るための基盤が出来上がった。ただしこれが実用化されるのは少し後のことである。
特徴
由来
Ajax自体は従来からある技術の組み合わせであって、誰か特定人の発明した技術というわけではない。
しかし従来のページ遷移に頼った操作性に使い勝手の悪さ、そしてXML、DOMといったWeb関連技術の標準化も手伝って、動的なWebサイトの進化に寄与することになった。
誕生当初は画面の簡単な装飾かブラクラくらいにしか使い道がなかったJavaScriptも、その使い方によっては業務に耐えうる実用的なアプリケーションをHTMLで作ることが可能だというとを世に知らしめた功績は大きい。
命名
この技術自体はAjaxと名前が付けられる以前より可能ではあったが、あまり広くは使われていなかった。
大きな理由はWebを用いたアプリケーション(Webアプリケーション)がまだ実用化されていないのみならず、そういったことが可能だと考える人が(殆ど)いなかったからである。しかし少ないながらこの可能性に気付いていた人はおり、色々な試みがなされていた。
そんな中で、2005(平成17)年2月18日、アメリカのUXデザイナーであるジェシー・ジェームス・ギャレット(Jesse James Garrett)により、非同期のJavaScriptとXMLを背景とするこの技術にも名前が必要と感じ、Ajaxと命名した。
普及
Ajax普及の最大要因はGoogleの登場である。
Googleは、Google Mapsを実用化する。まず、当時あった他の地図サイトと言えば、自由なスクロールはできず、画面の端をクリック(タップ)するとそちらの方にページ遷移するような仕組みで、使い勝手は最悪なものだった。しかしAjaxなしだと、そういう方法しかできないのである。しかしGoogle MapsはAjaxを用いて自由にスクロールできる地図を実用化し、アプリケーションの地図のような操作性をWebアプリケーションで実現させた。
またGoogle検索でも、入力語をバックグラウンドで検索することでリアルタイムに検索結果を表示する(インクリメンタルサーチ)なども実現させた。
こうしたインパクトの強さでAjaxという技術は一躍有名となり、JavaScriptの知名度も向上し、やがてなくてはならない存在にまでなった。
現在
このようにしてAjaxは普及し、JavaScriptによる非同期通信が総じてAjaxと呼ばれるようになった。
JavaScriptによる非同期通信は別にXMLに限ったことではなく、Scriptで扱える/扱いやすい形式なら実際には何でもよい。つまりCSVでもHTMLでもよいが、実際にはXMLが廃れJSONが普及した現在ではAjaxでJSONを受信して使う運用が一般化している。
しかしながらAjaxがAsynchronous JavaScript And XMLの頭字語だからと言って、JSONの場合にAsynchronous JavaScript And JSON略してAjajなどの表現はほぼ使われていない。そう呼ぶ人も0ではないが、一般にはJSONでもAjaxと呼ばれている。
実際、互換性のためという理由もあるだろうがjQueryでも$.ajax({})という関数名は今も変わっていない。このため今となっては、AjaxのXはXMLではなく、未知のものの総称Xと解釈されるべきなのかもしれない。
再検索