【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷


いまさら聞けないリッチクライアント技術(3)

いまさら聞けない、“Ajax”とは何なのか?


江原顕雄
2007/8/23

- PR -

 今回はAjax(エイジャックス)を取り上げます。Web 2.0の代表的な技術として取り上げられ、一世を風靡(ふうび)したAjax。皆さんも“Ajax”という言葉自体は知っていると思います。

 Ajaxを使ったサイトといえば、Googleマップなどが有名ですね。AjaxはGoogleマップによって世に知れわたったといっても過言ではないと思います。

 


拡大地図を表示
YouTubeと同じくらい簡単にWeb上に貼り付け可能になったGoogleマップ(実際に貼り付けてみた)

 しかし、何が得意で、どんなことがすごいのか? どんな技術を使っているのか?……などなどについてあなたは説明できますか? そのあたりを中心に解説をしていこうと思います。

Ajaxを、その誕生からひもとく

 Ajaxを理解するには、その誕生を知ることが第一歩です。

Ajax発祥の地はいずこ?

 「Ajax」発祥の地は、コンサルティング会社を経営するJesse James Garrett氏が、2005年2月18日に投稿した「Ajax: A New Approach to Web Applications」(Ajax Webアプリケーションへの新しいアプローチ)というエントリーです。

 このエントリーは話題を呼び、Ajaxという単語がアメリカで使われるようになり、日本にやって来ました。

Ajaxの定義

 では、Ajaxとは何なのか? 彼のブログで、以下のようにAjaxを定義しています。

standards-based presentation using XHTML and CSS
(XHTMLとCSSを使った標準規格のプレゼンテーション)

dynamic display and interaction using the Document Object Model
(ドキュメント・オブジェクト・モデル(DOM)を使ったダイナミックな表示と相互のやりとり)

data interchange and manipulation using XML and XSLT
(XMLとXSLTを使用してデータ変換と操作)

asynchronous data retrieval using XMLHttpRequest
(XMLHttpRequestを利用した非同期なデータの検索)

and JavaScript binding everything together
(そして、JavaScriptがそれらを一緒にしてしまう)

 うーん、分かる人には分かるかもしれませんが、初心者にはまったく意味が分かりませんね。ここでは、重要な単語が出ているので、それだけ押さえておけば大丈夫です。「DOM」「XML」「XMLHttpRequest」「非同期処理」「JavaScript」。これらのキーワードがAjaxと密接な関係があるようです。

 ちなみに、Ajaxは略語で、正式名称は「Asynchronous JavaScript + XML」となります。Asynchronousは「非同期」という意味ですが、上記で挙げた単語がたくさん入っていますね。

 彼のブログは、多くの人に読まれた結果、Ajaxとは何なのか? たくさんの質問が来ました。それらの質問に対する回答を「Ajax Q & A」として、2005年3月13日に追記しました。以下に紹介するQ&Aは、Ajaxを理解するに当たってとても分かりやすいものなので、取り上げてみました。

質問 Adaptive Path社()は、Ajaxのコンポーネットや商標登録を販売しているのですか? どこからダウンロードできるのですか?
※Adaptive Path社はJesse James Garrett氏の会社
回答 Ajaxはダウンロードして使うものではありません。ある種の技術を用いた、Webアプリケーションの構造の考え方、つまりAjaxは1つのアプローチです。また、Adaptive Path社は決して「Ajax」という名前を独占しません

 Ajaxについてよく知らない人は、AjaxをJavaやRuby、Perl、VBなどと同様に、「Ajaxはインストールして環境を構築して使用するもの」と認識している人がいるかもしれません。が、実はAjaxはそんなプログラムではなく、1つのアプローチ方法なのです。

 先ほど、「DOM」「XML」「JavaScript」といった単語が出てきましたが、Ajaxはこれらの技術を組み合わせた“方法”なのです。このように、既存のテクニックを使っているので、Ajaxはよく「新しくて古い技術」といわれるのです。

なぜ“Ajax”という名前が付いたのか?

 余談になりますが、なぜ、彼は「Ajax」という単語を生み出したかというと、「DOM」「XML」「JavaScript」を使ったWebアプリケーションのアプローチを毎回毎回「DOMやXML、JavaScriptを使った〜」というのが面倒くさいので、うまくひと言でいうために案出しました。

 ちなみに、Jesse James Garrett氏のエントリーは日本の有志によって全文が翻訳されています。興味がある人は、ぜひチェックしてみましょう。

 次ページでは、Ajaxの具体的なアプリケーションを見ながら、過去のアプリケーションとどう違うのか? について解説します。

  1-2-3

 INDEX
いまさら聞けないリッチクライアント技術(3) 
いまさら聞けない、“Ajax”とは何なのか?
Page1
Ajaxを、その誕生からひもとく
  Page2
実際のAjaxアプリケーションを見てみよう/Ajaxの「A」の本質とは?
  Page3
Ajaxを構成している技術たち/Ajaxはハードルが高いが理解しておくべき


ホワイトペーパーTechTargetジャパン

リッチクライアント & 帳票 フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています