この項目 こうもく では、Web開発 かいはつ 手法 しゅほう について説明 せつめい しています。
コナミのアーケードゲームについては「A-JAX 」をご覧 らん ください。
その他 た のAJAX については「アイアース 」をご覧 らん ください。
一般 いっぱん 的 てき なWebアプリケーション(左 ひだり )とAJAX(右 みぎ )の動作 どうさ の違 ちが い
Ajax (エイジャックス[1] [2] 、アジャックス[3] )は、ウェブブラウザ内 ない で非同期 ひどうき 通信 つうしん を行 おこな いながらインターフェイスの構築 こうちく を行 おこな うプログラミング手法 しゅほう である[4] 。XMLHttpRequest (HTTP 通信 つうしん を行 おこな うためのJavaScript 組 く み込 こ みクラス )による非同期 ひどうき 通信 つうしん を利用 りよう し、通信 つうしん 結果 けっか に応 おう じてダイナミックHTML (DHTML) で動的 どうてき にページの一部 いちぶ を書 か き換 か えるというアプローチを取 と る[5] 。
Ajax は『A synchronous J avaScript A nd X ML 』の略 りゃく で、2005年 ねん 2月 がつ 18日 にち に米国 べいこく のインフォメーションアーキテクトであるジェシー・ギャレット[注釈 ちゅうしゃく 1] により名付 なづ けられた[5] [6] [7] 。
1997年 ねん 頃 ごろ 、第 だい 1次 じ ブラウザ戦争 せんそう が勃発 ぼっぱつ し、その中 なか で動的 どうてき にWebページを書 か き換 か えるDHTML という概念 がいねん が登場 とうじょう した。登場 とうじょう したばかりの頃 ころ は、クライアントサイドでページを書 か き換 か える必要 ひつよう 性 せい は薄 うす いとされ、ページの動的 どうてき な装飾 そうしょく のみに有用 ゆうよう であると考 かんが えられていた。しかし、Web技術 ぎじゅつ 者 しゃ の実験 じっけん 的 てき なコーディングの結果 けっか 、JavaScript上 じょう で非同期 ひどうき 通信 つうしん を記述 きじゅつ することで、業務 ぎょうむ や実用 じつよう に耐 た える優秀 ゆうしゅう なインターフェースを備 そな えたアプリケーションをHTML +CSS +JavaScript で作成 さくせい 可能 かのう であることが徐々 じょじょ に判明 はんめい していった[6] 。
従来 じゅうらい のWebアプリケーション では、サーバ にリクエストを送信 そうしん 後 ご 、レスポンスを新 あら たにウェブページ として受 う け取 と ることで画面 がめん 遷移 せんい が発生 はっせい していたが、Ajaxにより画面 がめん 遷移 せんい を伴 ともな わない動的 どうてき なWebアプリケーションの製作 せいさく が実現 じつげん 可能 かのう になる[1] 。
例 たと えばWeb検索 けんさく に応用 おうよう することで、従来 じゅうらい は入力 にゅうりょく 確定 かくてい 後 ご に行 い っていた検索 けんさく を、ユーザがキー入力 にゅうりょく をする間 あいだ にバックグラウンドで行 おこな うことによってリアルタイムに検索 けんさく 結果 けっか を表示 ひょうじ していく(インクリメンタルサーチ )といったことが可能 かのう になる。
上記 じょうき の機能 きのう は、Webブラウザ 標準 ひょうじゅん 搭載 とうさい の技術 ぎじゅつ のみで実現 じつげん できる[4] 。Ajaxという用語 ようご が考案 こうあん される前 まえ から手法 しゅほう 自体 じたい は存在 そんざい しており同時 どうじ 多発 たはつ 的 てき に試 こころ みられていた。しかし、2005年 ねん に行 おこな われた、コンサルティング会社 かいしゃ を経営 けいえい するJesse James GarrettによるAjax:A New Approach to Web Applicationsというエントリの投稿 とうこう と、Google がGoogle マップ やGoogle サジェスト にこの手法 しゅほう を使用 しよう したことで有名 ゆうめい になり[6] 、Webアプリケーションの操作 そうさ 感覚 かんかく をネイティブアプリケーションの操作 そうさ 感覚 かんかく に近付 ちかづ ける手法 しゅほう としてAjaxが注目 ちゅうもく され始 はじ めた。さらに、Googleでは、デスクトップアプリケーション と遜色 そんしょく のない電子 でんし メールクライアント であるGmail やGoogle Calendar でも積極 せっきょく 的 てき にAjaxを使用 しよう し、Ajaxの実用 じつよう 性 せい がGoogleのWebアプリケーションを通 つう じて世界中 せかいじゅう のインターネット技術 ぎじゅつ 者 しゃ に広 ひろ く認知 にんち された。
AjaxによるWebプログラミング (Webアプリケーション製作 せいさく )が注目 ちゅうもく された背景 はいけい には、この従来 じゅうらい のページ遷移 せんい のみに頼 たよ ったWebの使 つか い勝手 がって の悪 わる さ[1] [7] に対 たい する不満 ふまん や、XML 、DOM などのWeb関連 かんれん 技術 ぎじゅつ の標準 ひょうじゅん 化 か (ウェブ標準 ひょうじゅん )、および高 たか い機能 きのう を持 も ったWebブラウザの普及 ふきゅう などが挙 あ げられる。
従来 じゅうらい の技術 ぎじゅつ の組 く み合 あ わせであるため、それぞれの持 も つ問題 もんだい をそのまま内包 ないほう する。
例 たと えば、各種 かくしゅ Webブラウザ間 あいだ のDHTMLの実装 じっそう の違 ちが いをコードで吸収 きゅうしゅう する必要 ひつよう がある。
実際 じっさい 、Ajaxを実現 じつげん する技術 ぎじゅつ はブラウザ間 あいだ で実装 じっそう に違 ちが いがあり、基幹 きかん 技術 ぎじゅつ であるXMLHttpRequest実装 じっそう の元 もと となったInternet Explorer の実装 じっそう の解説 かいせつ ではXMLHttpRequestという用語 ようご は見 み あたらず、ActiveX でMicrosoft XML (MSXML) 機能 きのう を呼 よ び出 だ して実行 じっこう する。Internet Explorer 6では、Microsoft XML 3.0が付属 ふぞく しているため[8] 、ActiveXを無効 むこう にしていない限 かぎ りこの機能 きのう が使 つか える。Microsoft XMLの実装 じっそう ではバイト配列 はいれつ を取 と り出 だ せるなど機能 きのう 的 てき な違 ちが いもある。言語 げんご としてVBScript が使 つか える点 てん も異 こと なる。
また、Ajaxアプリケーションでは動的 どうてき にページの一部 いちぶ が書 か き換 か えられる為 ため 、デザイン とコード が以前 いぜん のように単純 たんじゅん に分離 ぶんり できないという開発 かいはつ 上 じょう の問題 もんだい 点 てん がある(Model View Controller も参照 さんしょう )。このため、現在 げんざい では通常 つうじょう のWeb開発 かいはつ に比 くら べ開発 かいはつ により時間 じかん がかかると言 い われている。
Ajax の必要 ひつよう 性 せい が叫 さけ ばれるにつれこうした問題 もんだい を解決 かいけつ すべく、アプリケーションフレームワーク の開発 かいはつ が進 すす み、これらを利用 りよう することで、こうした問題 もんだい は解決 かいけつ しつつある。
Ajax用 よう アプリケーションフレームワーク [ 編集 へんしゅう ]
Ajaxフレームワークとしては以下 いか のようなものがあり、それぞれについて特徴 とくちょう がある。
これらを利用 りよう することで、ブラウザの互換 ごかん 性 せい に関 かん する問題 もんだい を解決 かいけつ することが出来 でき 、またデザインとコードの分離 ぶんり といった Web 開発 かいはつ の効率 こうりつ 性 せい を高 たか める工夫 くふう を取 と り入 い れることも可能 かのう になるとされている。
Spry は、Adobe CS のような統合 とうごう 開発 かいはつ 環境 かんきょう に組 く み込 こ まれていたり、Prototype は、Ruby on Rails などの Web アプリケーションフレームワークの一部 いちぶ として統合 とうごう されるなど、さまざまな Web 開発 かいはつ ソフトウェアの一部 いちぶ として組 く み込 こ む動 うご きも広 ひろ がっている。
非同期 ひどうき メソッドはAjax独自 どくじ のものなのかと勘違 かんちが いしやすいが、HTML DOMにはXMLHttpRequest以外 いがい に以下 いか のような非同期 ひどうき メソッドが存在 そんざい する。
Image#src, HTMLImageElement#src
Window#location (HTMLIFrameElement, HTMLFrameElement)
HTMLScriptElement#src
DHTML Behavior (#default#download)
現在 げんざい はAjax関連 かんれん 技術 ぎじゅつ としてXMLHttpRequestを全 まった く使 つか わないプログラムまでが取 と り上 あ げられるようになっており、JavaScriptを効果 こうか 的 てき に使用 しよう して動的 どうてき なWebサイトを作 つく る手法 しゅほう 全般 ぜんぱん をAjax関連 かんれん と広 ひろ く捉 とら える傾向 けいこう も巷 ちまた に存在 そんざい する。
^ 英 えい : Jesse James Garrett
ウィキメディア・コモンズには、
Ajax に
関連 かんれん するカテゴリがあります。