Google Web Toolkit - Faster AJAX than you'd write by hand

The GWT TeamからGWT (Google Web Toolkit)の最新版となるGWT 1.5が公開された。ひとつ前のバージョンとなるGWT 1.4がリリースされたのが2007年8月28日(米国時間)であることから、丸一年経ってのアップグレードとなった。1.4から1.5へのアップグレードだが、GWTを採用しているデベロッパにとってきわめて重要なリリース。GWTを採用している場合にはアップグレードの検討を、Javaを使ったAjaxアプリケーション開発を実施したい場合には採用を検討したいバージョンだ。

GWT 1.5の主な特徴は次のとおり。

  • Java 5機能のサポート - Generic、アノテーション、foreach繰り返し構文、複数引数、列挙型、オートボクシング、static importなどJava 5の機能が使えるようになり従来よりもソースコードの簡素化が可能になったほか、GWT自身もJava 5の機能を活用して簡素な記述に変更されている
  • パフォーマンスの改善 - 明確に数値化されたデータは公表されていないもののインライン展開機能などの効果もあり以前のバージョンよりも高速化されている。TreeウィジェットなどはIE6/7などの特定の環境で5倍から10倍の高速化が実現されている
  • JavaScript相互接続性の改善 - JavaScriptとの相互接続性が向上しているほかGadgets、Firefoxエクステンション、Greasemonkeyスクリプト、Gearsワーカースレッドなどで活用できるコードを生成するようになった
  • デフォルトCSSテーマの提供
  • アサーション機能によるQAサイクルの向上
  • 新しいデモアプリケーションShowcase登場

従来のバージョンから400をこえる問題が修正されている。最大の注目点はもっとも要求が多かったJava 5機能の対応が実現されたことだ。またウィジェットのスタイルをCSSで提供するようになったことから、従来のバージョンよりもスタイルのカスタマイズが簡単になった。関数コールの負荷を低減されるために導入されたインライン展開機能で実行性能が向上しているところもポイントだ。

Treeデモ - Showcaseより抜粋

スタックパネルデモ - Showcaseより抜粋

リッチテキストデモ - Showcaseより抜粋

ドックパネルデモ - Showcaseより抜粋

フレックステーブルデモ - Showcaseより抜粋

ディスクロージャパネルデモ - Showcaseより抜粋

GWTはJavaで開発したアプリケーションをコンパイルすることでJavaScriptソースコードを生成し、Ajaxアプリケーションやガジェットとして活用できる。Ajaxアプリケーション開発にはJavaScriptを使うことが多いが、より厳密なプログラミングを好む場合にはGWTのようにJavaを使うタイプのフレームワークを採用することが多い。またJavaプログラマがJavaScriptを学ぶことなく手軽にAjaxアプリケーションが開発できるという利点もある。

名前にもあるとおり、GWTはもともとGoogleで開発されてきたツールキット。今後もGoogleから公開されるサービスで随時採用が進むとみられている。AjaxアプリケーションフレームワークシェアではJavaScript系フレームワークと比べてシェアが低いが、JavaScript以外のフレームワークとしてはもっとも代表的なフレームワークとされている。類似のフレームワークにはDWRがある。