Ajax 悩みどころ

Wagby R6 ではビュー部分の Ajax 対応強化を図ろう、という点で開発者との認識は一致していますが、実際にどのような要素技術を使うかについて、悩みどころです。現在の自分の理解を整理します。

Web ベース vs RIA

Air や WPF, Java FX は RIA 指向、つまり Web ブラウザなしでもいいよ、という世界へ導こうとしています。Wagby はあくまでも Web ベースという位置づけなので、これらの技術は選択肢として、除外してよいと考えています。

Java ベース vs JavaScript vs その他言語

DWR もしくは GWTJava コードが主体なので、Java 屋が集まっている当社にとっては、なじみやすいといえます。
prototype.js や Yahoo! UI Library を使うなら、JavaScript ゴリゴリ学びます。
Adobe Flex 2 なら MXML + ActionScript 3.0 です。
Silverlight 1.0 なら XAML + JavaScript です。
ちょっとマイナーかも知れませんが Open Laszlo もあります。こちらは LZX という言語です。

比較のポイント

Ajax 通信主体なら prototype.js, DWR, GWT あたりでしょうか。Spring 連携を加味すれば、DWR がよいでしょう。
しかし DWR には UI 部品の提供がない。DWR + Yahoo! UI Library という組み合わせで解決される?

GWT は地味(といっては失礼ですが..)な UI をもっているので、これ一つで、そこそこ満足度の高いビューを実現できそう。GWT で怖いのは JavaScript デバッグは至難の技だろうと予想されることと、カスタマイズしたいと思っても GWT の範囲でしか手がでないこと。GWT の仕組み上、他の JavaScript ライブラリとの親和性で制限があるのでは... と思います。一方、Google Gears との親和性という点で、この技術は注目です。WagbyGoogle Gears 対応となれば、使い道は広がるでしょうし。

Yahoo! UI Library は部品が充実していますね。奇麗な(派手な?)画面がつくれそうです。JavaScript の Compressor もあるんですね。ただ、気合いで JavaScript が使えるようにならないと。Eclipseデバッグできるかなぁ。

Silverlight は Mac 版もあるのが嬉しい。私の MacBookPro でもテストできそう。ただ 1.0 は 2D グラフィック、アニメーション重視で、思ったより表示部品が少ないという印象。1.1 は使いません。

Adobe Flex 2 のデモはとても奇麗。しかし凝りすぎていて、これ、自動生成できないでしょうと考えさせられます。Wagby の原点はとにかく初期画面を自動生成、ですので。有償の Flex Builder が必要というのは、そんなに苦になりません。