ajax

ajaxというのが流行らしい.キーワードページのリンクや,最速インターフェース研究会とか,antipop2.0で,詳しい内容と例が紹介されている.

ajaxとは,はてなキーワードページによると「Asynchronous JavaScript + XMLの略称」のようで,要するに「従来,サーバ側で処理していた機能を,クライアント側にjavascriptによって実装し,従来,同期していた画面遷移とネットワーク通信を分離することで,より柔軟なUIを構築しよう」というフレームワークのようだ.

もともとブラウザの貧弱なUIには不満たらたらなので,これがなんとかなるのは,非常にありがたい有望な技術である.ただ,少なくとも当面はいろいろな問題が発生すると考えられる.例えば,

  • タブブラウザを利用している場合,あるページがバグを含む場合,ブラウザ全体をまきこんで固まってしまうのではないか.
    • Firefox Extensionで時々,固まるのがあるので,たぶん固まらせることもできるのだろう.善意のブラクラというところか.
  • Flashのように,ブラウザの進む/戻るボタンとか,ヒストリとか,URLを軸にした操作ができなくなるのではないか.
    • Googleの検索結果のURLのような,セッションの途中の状態を他の人に伝える手段が使えなくなる可能性がでてくる.Apple storeのようにセッション情報までURLに含めるのはやりすぎだけど.
  • ajaxは,javascriptに大きく依存しているので,IEしかサポートしないWebアプリを強引にでもfirefoxなどのマイナーブラウザで使うことの障壁が高くなるのではないか.
    • Ben Goodgerや,Darin Fisherのようなmozilla関連の開発者がいるGoogleや,OSXクライアントも出しているFlickrのようにマイナーブラウザにも目を向けてくれるところはいいが,各種のオンラインバンキングサイトのような「世の中にはIEしかないんですよ」というようなWebアプリでは,firefox, safari, operaなどのマイナーブラウザでは,そもそも動作しなくなりそう.

などなど.あと,id:hoshikuzu:20050301でも指摘されているがセキュリティ関連のことは気になるところ.

また,ajaxの採用によってUI設計の自由度が増すが,Webアプリ間での操作性のずれが問題になるかもしれない.もっとも,かつてクライアントアプリケーションのUIが統一されていなかったが,次第に似たような操作性を持つようになったように,ajaxを採用したWebアプリの操作性も似てくるかもしれない.大昔は,クライアントアプリケーションのUIの部品は,それぞれ独自に実装されていたのが,ツールキット(Windowsのコントロールとか,UnixのMotif, GTK, qtとか)の普及により,大抵のアプリが似たような操作性を持つにいたっている.そこに至るまでには,AppleのUIのバイブル,Macintosh Human Interface Guidelinesのような指針と,強力なツールキットが必要になるのではなかろうか.

Human Interface Guidelines:The Apple Desktop Interface(日本語版)

Human Interface Guidelines:The Apple Desktop Interface(日本語版)