理想と、理想を実現するツール

2006年12月10日

Life is beautifulAjaxの本質、「非同期メッセージ型ウェブ・アプリケーション」のススメというエントリより

web2.0という言葉・概念が流行りだしてからだいたい1年くらい経った(と思う、詳しくは知らないが)。そして、web2.0とはAJAXであると思っている人はまだいるのだろう。

まぁ、使う人が言うのは何の問題もないのだが、問題は「web2.0」なアプリを作ろうと考える人達がそう思っているところにある。これはそもそもAJAXを利用したwebアプリが何故発生したのかをきちんと考えれば良い。

Ajaxの本質、「非同期メッセージ型ウェブ・アプリケーション」のススメではこう語られている。

Googleなどが進めている第二世代のウェブ・アプリケーションのアーキテクチャーの本質は、XHTMLやXMLやJavascriptにあるのではない。その本質は、

  • (1)アプリケーションの明示的なインストールが必要ない。
  • (2)サーバーとの通信を非同期に実行することにより、通信遅延によりUIをブロックしない。
  • (3)サーバーとのやり取りは、RPCではなく、メッセージで行う。
  • (4)データ・バインディングはサーバー側ではなく、クライアント側で行う。
  • (5)UIにインテリジェンスがあり、ある程度はサーバーに戻らずにユーザーとやり取りをする。

の5点にある。この5点さえしっかりと守れば、開発言語はJavaであろうとFlashであろうとも良いし、サーバーとのメッセージにXMLを使わなくともかまわない。その意味で言うと、Ajaxという名前(J=Javascript、x=XML)がそもそもふさわしくしくないとも言える。単に、「非同期メッセージ型ウェブ・アプリケーション(Asynchronous Message-driven Web Application)」と呼ぶ方がずっと明確だし、特定の言語にしばられなくて済む。

つまり、別に言語がどうだという次元での話ではないのである。

  • 今まではサーバ側で処理していた事をクライアント側で処理する
  • サーバでの処理もできるだけユーザのストレスがないようにする

これが重要なのだ。「今までとは違ってとても使いやすいwebアプリの作成」を考えて、その手段としてJavaScriptでのクライアントサイドスクリプトと、サーバ通信がよく使われているだけなのだ。それをちょっとこじゃれた命名をした為にその名前が先行して有名になり、違った意味に捉えられるようになってしまったのだろう。

僕は一応webアプリの作成も仕事の片手間にやっているのだが、きちんとこういった事を考えて作成していた訳ではなかった。とても為になる記事だったなぁ。これからはきちんと利用者の事を念頭に置いて開発するとしよう。AJAXであれば良い時代はもう過ぎたのだ。

FBでコメント