|
|
1 2 3 次のページ
|
|
イントロダクション
|
Webアプリケーション分野で使われる技術用語には、多くの略語が用いられます。しかしそれらの略語は、内容が分かりにくく、あまり説明になっていないことが多々あります。今回解説するAJAXも同様です。AJAXはAsynchronous JavaScript and XMLの略ですが、使用用途はより広範囲の技術にまで適用できます。
もしJavaScriptをWebアプリケーションで使っており、POSTやGETとは異なる方法でサーバーと通信をしている場合は、AJAXを活用していると言うことができます。ここで重要なのは、AJAXは何らかの技術を指したものではなく、新しい開発モデルで実現する総称です。
AJAXは2つの大きな改良により、成り立っています。1つはクライアントサイドのJavaScriptを活用すること、そしてXMLHttpRequestなどを活用し、JavaScriptを通じてサーバーと通信をすることです。これで、ユーザーはデータの読み込み時間に待たされることなく、インタラクティブな操作が可能になります。また、データの更新をその場で行ったり、ユーザーが入力している間に検索を行うといったように、新しいインターフェースを提供できます。
AJAXは名前としては新しいですが、裏側にある技術は新しくありません。ActiveXやJavaアプレットを使ったプロジェクトは2001年頃からサーバーとの通信を行っていましたし、IFRAMEタグを使った実装も2002年頃から広がっていました。今では、AJAXはXMLHttpRequestオブジェクトを用いて構築されています。XMLHttpRequestは、IEではActiveXオブジェクトとして、FireFox、Safariなどの他の多くのブラウザーではネイティブなJavaScriptオブジェクトとして実装されていますので、標準的なツールとして使うことができます。
しかしながら、これまではこの方法はあまり広まりませんでした。理由の1つは、キラーアプリケーションがこれまで無かったことが挙げられるでしょう。
|
使用例
|
新しい技術の概要を知るには、AJAXによって何が変わるかを知るのが近道です。例えば、今、動作が遅いと感じている処理が、どう変わるのでしょうか。Web サイトの検索ボックスが良い例です。AJAXを使うと、ユーザーが入力すると同時にデータベースから検索を行うことができますし、検索ボタンをクリックする前に検索結果を提案することもできます。また、レコードの一覧を素早く表示させることもできるでしょう。
多くのWebサイトでは、データの量が多くなるにつれ、速度がとても低下します。毎回ページの再読込を行うため、何百ものレコードがある場合には、次の20件を表示させたいだけでも、操作性が大きく低下します。AJAXを使うことで、更新が必要なデータだけを読み込むため、多くのデータを扱う場合ほどスピードを向上させることができます。スクロール機能が高速化されるのに加え、データのフィルタやソート機構なども簡単に追加できます。
このようにAJAXを使うことで、これまで決して埋めることのできなかった「ギャップ」を埋めることができ、新時代のWebアプリケーションを提供することができます。その一例として、非常によくできているのがGoogleのGmailです。これは、通常のウィンドウプログラムと同じような操作感を持つWebベースのメールソフトです。AJAX機能を付けるためには少し努力が必要ですが、Gmailの例にもあるとおり、素早い検索や親切なフォーム検証機能を導入したい場合はAJAXを検討すると良いでしょう。
|
1 2 3 次のページ
|
書籍紹介
PHPプログラマーズマガジン
PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP:Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。
発行:アシアル株式会社 価格:1,029円
ご購入はコチラ http://www.asial.co.jp/magazine/
|
|
|
|
著者プロフィール
Joshua Eichorn
Joshua Eichornは、PHPを使ったWebサイトを7年間制作してきました。彼は、非常に有名なPHPのドキュメーションツールであるphpDocumentorの制作者です。また彼は、アリゾナ州立大学のScience in Computer InformationSystems学部の学士号をとっています。
彼はUversa社のシニア設計者として、AJAXをUversa社のアプリケーションに追加する作業を行っています。現在、アリゾナ州フェニックスに住んでいます。
|
|
|
|