Ajaxとは

a0150_000078

プログラマのKです。

本日は「Ajax」について話をさせていただきます。

Ajaxは、 Asynchronous JavaScript XMLの略です。

簡単に言うとFacebookのいいねボタンなどのように、URL遷移がなくサイトに挙動を与える技術がAjaxです。

Ajaxの考え方に従って作られたWEBアプリをAjaxエンジンと呼んだりします。

どこかに標準型のAjaxエンジンが展示されているわけでもなく、Ajaxエンジンの雛形が用意されているわけでもありません。

Ajaxは、JavaScriptで記述されます。

Ajaxは、動作の記述にJavaScriptを用いて、データはXML形式で扱います。

WEBは、WEBブラウザとサーバ間で情報のやり取り・通信を行いながら動作します。

通信のタイプには「同期式」と「非同期式」の2つの方式があります。

WEB構築に際してどちらの方法も使用可能ですが、Ajaxは非同期式通信を採用します。

AjaxのAは、非同期を意味するAsynchronousの頭文字です。

WEBブラウザは、サーバに対してリクエストを送って、サーバからのデータを受取るわけですが、同期式では、リクエストを出した後、サーバからデータが返ってくるのを待つ必要がありますので、サーバからデータが返ってくるまで何もできません。

非同期式では、データが返ってくるまでの間、待たずに、データが返ってこなくてもサイトに挙動を与えます。

正確には非同期式通信を採用して、データが返ってくるまでの間に、「レスポンスを上げるためにできる事をする」ようにJavaScriptを書くというのが、Ajaxの考え方です。

Ajaxでは、WEBブラウザがサーバにリクエストを出した後、ユーザがマウスをクリックする等の操作を行ったら、操作に対応するために既にサーバにリクエスト済みのデータに加えて、どんなデータが必要なのかを計算します。

次のサーバに対するリクエストの準備を行いますので、レスポンスの良いインターフェースになります。

通信の側から見ますと、必要なデータを必要な時に必要な分だけ細かくやり取りすることになりますので、ネットワークへの負担も小さくなります。

Ajaxでは、データの扱い・表現方法についてXMLを採用しています。

XMLはHTMLと同じくマークアップ言語ですが、HTMLのようなタグは殆どありません。

XMLは、タグの入れ子というのですが、入れ子構造で、包括関係を示しています。

<動物><猫><名前>みけ<犬><名前>ポチ<名前>クロという具合です。

包括構造は「木構造」といって系統樹に対応させることが可能です。

動物の根から猫と犬の枝が出て、猫の枝から名前がみけの枝が伸びて、犬の枝からポチとクロの二本の枝が出ている系統樹です。

プログラムからデータを操作する場合、木構造で扱えた方が便利です。

XMLをJavaやJavaScriptから木構造に対応させて扱う仕組みがDOM(Document Object Model)です。

Ajaxでは、データはXMLスタイルで扱い、DOM経由でJavaScriptからデータを操作します。

Ajaxでは、操作性の良いWEBアプリの作成が可能ですが、Ajaxの考え方に従って実際にWEBアプリを作成するには、HTMLとJavaScriptの知識だけでは不足で、XMLの理解に加えて、サーバ側のプログラムも必要に応じで作成可能な知識とスキルが要求されます。

Ajaxは、UX(ユーザー体験)を向上させるための技術です。

当社では、企業様に寄り添ったIT技術の提供を行わせていただくために、Ajaxを活用したシステム構築も多数行っています。

(K)

お問い合わせはこちらお問い合わせはこちら