TOP設計・移行・活用> クライアントを積極的に利用する
Ajax
Ajaxが開く未来

第2回:AjaxアプリケーションとクラシックWebアプリケーションの違い
著者:HOWS  園辺 康弘   2006/4/3
前のページ  1  2  3  4
クライアントを積極的に利用する

   クラシックWebアプリケーションでは、バリデーションチェック(入力データのチェック)をクライアントロジック(JavaScript)で実装するのは常套手段だ。

   Ajaxアプリケーションでは、データだけの通信に加えて非同期通信が使えるため、もっと積極的に(高性能化著しい)クライアントで処理させることによってユーザビリティを更に向上することができる。

   例えばソート処理に着目すると、ブラウザで表示されている検索結果をソートする場合、あるいは異なるソートキーでリソートする場合、ソート対象のデータを既にサーバから受け取っているのであれば、クライアントでソートさせることによって、その分のサーバとの通信量とサーバの負荷を減らすことができる。

   また、上記のことはベクタグラフィックスのレンダリングでも同様のことがいえる。クラシックWebアプリケーションではGIFのグラフをサーバサイドで生成する方法を用いていたが、Ajaxアプリケーションではグラフを描画するためのデータだけをサーバから受け取り描画自体はクライアントで実行する方法が取れる。

   このように、Ajaxアプリケーションでは様々なアプローチでユーザの「待機」を減らすことができる。


ネットワークとサーバの利用効率

   Ajaxアプリケーションはユーザビリティを向上させるだけではなく、ネットワークとサーバの利用効率面でも恩恵がある。

   Ajaxアプリケーションでは、クライアントにAjaxエンジンがダウンロードされた後、データだけの受信による効率的なページ更新が可能になるため、ページ全体がリロードされるクラシックWebアプリケーションよりもサーバとの通信量を減らすことができる。

   結果として、サーバ(ページ動的生成処理が実行されるAPサーバなども含む)の負荷を減らすことができる。

   また、ロジックをクライアントとサーバに分解、あるいはロジックのすべてをクライアントで実装することで、更に通信量とサーバ負荷を減らすことができる。その結果、サーバがより多くのアクセスを処理できるようになる。

   非同期通信は適切に行う必要がある。サーバにデータをリクエストするタイミングとデータセットが不適切だと、逆にユーザビリティが落ちる可能性があるし、必要以上にサーバに負荷をかけることになるからだ。


体感について

   物理的なレスポンススピードも重要だが、体感速度を含むインタラクションデザインにも重要な意味があると考えている。

   アプリケーションやコンテンツにマッチした上手な表現・視覚効果・入力方法を考えることが、Ajaxアプリケーションを成長させるキーポイントだと筆者は信じている。

   次回は、Web 2.0におけるAjaxの位置づけ、Ajaxと他のRIA技術、Ajaxの事例についてフォーカスしたい。

前のページ  1  2  3  4


HOWS  園辺 康弘
著者プロフィール
株式会社HOWS  研究開発担当  園辺 康弘
UNIX系業務システムおよびWebサイトにおけるプログラミング、システムインテグレーション、インフラ構築を経て、システムアーキテクチャの重要性に目覚める。その後、CTOの視点で、現代のSense-React型経営に追従するためのコンポーネント指向のシステムアーキテクチャ、先進テクノロジーの研究活動に従事。現在はAjaxを含むWeb2.0に関わる技術のリサーチと研究に没頭。音楽と馬をこよなく愛する。


INDEX
第2回:AjaxアプリケーションとクラシックWebアプリケーションの違い
  Ajaxアプリケーションの動作原理
  画面遷移における違い
  通信方法における違い
クライアントを積極的に利用する