Ajax と CSI

なんか Ajax というのをあちこちで見かけるようになった.2004-12-11 にとにかく不思議に思った Google Suggest や,2005-02-07 にその操作性に驚いた Google Maps もみんな Ajax のおかげなんだよーん,ということでとりあえず興味津々だ.



ここ数日で,iTunes みたいな filer

とか (もっとも,ここの方はだいぶ以前からこの技術を独自に使われてたようだが),KWIC (文脈情報を表示する用語検索)とか,amazon 検索とか,いろいろ出て来ている.どれもなんかやけにさくさく動くではないか.すげー.



とりあえず説明をざっと眺めてみる.ぶっちゃけ,今までサーバ側でやってた処理をクライアント側で,ということらしい.サーバとの通信は必要最低限のものとなり,非同期に行われるので,ユーザとアプリケーションの間に応答待ちが起きることなく,さくさく動くというわけらしい.

サーバの負荷も軽くなるし,こっちとしてもあまりサーバに余計なデータを送りたくはないので,魅力的ではある.



ん? Client Side Include (CSI) というのはこの一種と考えてよいのかな??うーむ,CSI はサーバとの通信が XML とは限らないから,厳密には違うんだろうけど,それは実装の問題で,技術的には根は同じと考えてよいのかな.よくわからんけど.



ただ,CSI の場合,ユーザ側がほとんど何もアクションを起こさず,表示されるデータをただ見てるだけだから,client side processing の恩恵が希薄なんだろうな.処理量と通信のトレードオフがシビアで,場合によってはかえって遅くなる (らしい).



ユーザ側のアクションが頻繁なアプリケーション (Google Suggest なら文字入力だし,Google Maps なら地図ナビゲーション) だからこそ,asynchronous のメリットが生きてくる.上に紹介した例はみんな,そのあたり上手いところを突いてきたなと思う.



まあ,素人の意見としては,面白いのでどんどんやってくれという感じ.ただ,w3m ユーザとしては,レガシーな Web アプリケーションも残しておいて欲しかったりするけど.



とかえらそうに書いてますが,実はまだいまいちわかっていない Ajax….