Ajaxの定義

上記リンクから引用させていただきました。

--
Ajax(Asynchronous JavaScript + XML、非同期なJavascriptとXMLの連携)
は単一の技術ではなく、複合的な技術の呼称である。

・XHTMLとCSSによる基本レイアウト
・Documentオブジェクトを使用した、ページの動的変更
・XML,XSLTを使用したデータのやりとりや制御
・XMLHttpRequestを用いた動的なデータ検索
・JavaScriptによる上記技術の統合

従来のアプリの問題点は、全ての動作がhttpリクエストを送り、
毎回サーバーサイドでデータを成形しなおさなければならなかった。
その為にユーザーは処理毎に待たされることとなる。
一度ユーザーインターフェースをロードしてしまえば、
処理毎にサーバーと通信する必要はないのではないか?
というのがAjaxの基本的な考え方となる。


Ajaxはどのように異なるか

Ajaxのコンセプトでは、ユーザーとサーバーの間に中間層となるAjaxエンジンを置く。
初回のセッションでは、ウェブページをロードする代わりに Ajaxエンジンを読み込む
(これは通常隠しフレームに読み込まれる)。
Ajaxエンジンは、レンダリングとインターフェースの制御を担当し、
ページとは非同期にデータをサーバーから読み出す。
これによりサーバの処理待ちで、画面が真っ白の状態で待たされることはない。

ユーザーの全てのアクションはhttpを直接呼び出すのではなく、
JavaScriptによってAjaxエンジンを呼び出す。
DataValidation等のサーバーが必要としない処理はAjaxエンジンが自ら行い、
外部のデータや追加のコードをを必要とするときのみサーバーとの通信を行う
(主としてXMLが用いられる)。


誰が使っているのか

google社が巨大な投資を行っている。
orkut, gmail, google suggest, google maps, flicker etc...
これらは、Ajaxが技術的なデモではなく実用的なものであることを証明している。
google suggestのような単機能から、google mapのような巨大なものまで、適用範囲は多岐にわたる。Ajaxはまだ初期段階であり、その可能性は拡大中である。
今後多くの組織がgoogleの示す方向性に従うだろう。


進歩

Ajaxの用いる技術自体は成熟した技術である。
Ajaxの最大の挑戦は、デザイナーがwebアプリの限界を忘れ、
より大きな可能性を想像することである。
--

ユーザとサーバの中間層に置く「何か」が結構とんでもない利便性を生みそう。
一度ユーザーインターフェースをロードしてしまえば、
処理毎にサーバーと通信する必要はないのではないか?という出発点に
忠実でありさえすれば、厳密に要件を満たしていなくても、
Ajax的なアプローチは取れる、という事を私のチームが実証してくれた。

必要は発明の母、とはよくいったものだけど、ちょっと面白い。

コメント

人気の投稿