無償化されたGWT Designer

GWT DesignerはもともとInstantiations社が提供していた商用のGWT(Google Web Toolkit: Googleが提供するAjaxフレームワーク)開発用のEclipseプラグインで、GWTアプリケーションのGUIをグラフィカルに作成できるのが大きな特徴だ。2010年8月、Googleが同社を買収し、以降無償で提供されるようになった。

Googleが提供するEclipseプラグインとしてはGoogle App Engineに対応したGoogle Plugin for Eclipseがあり、こちらもGWTでの開発をサポートする。これまでGoogle Plugin for EclipseとGWT Designerは別のプラグインとして提供されてきたが、GWT 2.2のリリースにあわせ、Google Plugin for EclipseにGWT Designerの軽量版が含まれるようになった。

今回はこのGoogle Plugin for EclipseでのGWT開発支援機能について紹介したい。

フル機能版GWT Designerとの違い

前述の通り、Google Plugin for Eclipseに含まれるGWT Designerは軽量版で単独のGWT Designerと比較すると若干機能が削減されている。主な違いは以下の通りだ。

  • フル機能版のGWT Designerのほうがより詳細な設定が可能
  • フル機能版のGWT DesignerはGWT-Ext,、GXT 、SmartGWTなどサードパーティ製アドオンもサポートする
  • フル機能版のGWT Designerには専用のウィザード、バリデーション等の機能がある(軽量版はGoogle Plugin for Eclipseによって提供されるものを使用)

機能的に大きな違いはないためGWT-Extなどのアドオンを使用しないのであればGoogle Plugin for Eclipse(軽量版GWT Designer)を使用したほうがいいかもしれない。こちらであればGoogle App EngineやGWTのSDKもEclipseの更新マネージャ経由でインストールできるので便利だ。

Google Plugin for Eclipseのインストール

Google Plugin for EclipseはEclipseの更新サイトからインストールすることができる。こちらのページにEclipseのバージョンごとの更新サイトのURLが記載されているので使用しているEclipseのバージョンに応じた更新サイトからGoogle Plugin for EclipseとGWTのSDKをインストールしよう(更新サイトからはGoogle App EngineのSDKもインストール可能だが、GWTでの開発を行うだけであれば不要だ)。

図1 Google Plugin for Eclipseのインストール

GWTアプリケーションを開発してみよう

プロジェクトの新規作成ウィザードで[Google]-[Webアプリケーション・プロジェクト]を選択しよう。プロジェクト作成ウィザードではGWTを使用するかどうか、Google App Engineを使用するかどうかなどを指定することができる。

図2 プロジェクトの作成(1)

図3 プロジェクトの作成(2)

GUIについては以下のようなGUIデザイナでレイアウトを行うことができる(GUIデザイナで開けない場合はJavaソースを右クリック-[アプリケーションで開く]-[GWT Designer]を選択すればよい)。JavaソースとGUIデザイナはエディタ下部のタブで切り替えることができる。GUIデザイナの使い勝手は上々だ。GWTのレイアウトマネージャの挙動を把握するまでは戸惑うかもしれないが、一度慣れてしまえば思い通りの配置が可能だろう。

図4 GUIデザイナ

ただし、Javaソースを編集した場合、GUIデザイナへの切り替え時にレイアウトの再読み込みのためにやや眺めの待ち時間が発生するため、GUIデザイナとJavaソースを頻繁に切り替えながら利用するとストレスを感じるかもしれない。

[実行]メニューから[Webアプリケーション]を選択すると開発サーバが起動する。Development Modeビューに開発サーバにアクセスするためのURLが表示されるのでブラウザにコピー&ペーストするか、URLをクリックしてブラウザを起動する。初回の起動時はブラウザにアドオンのインストールが必要となる。

図5 実行メニュー

図6 開発サーバが起動した

図7 初回実行時はブラウザにアドオンのインストールが必要

また、プロジェクトを右クリック-[Google]-[GWTコンパイル]でJavaコードをJavaScriptコードにコンパイルすることができる。生成されたコードはEclipseプロジェクトのwarディレクトリ配下に出力される。

まとめ

GWTでは国内ではいまひとつ盛り上がりに欠ける面があるが、Google App Engineでも標準でサポートされており、クラウド上でも利用可能なフレームワークとして今後も注目したい存在だ。GWT Designerという強力なビジュアルツールが無償で利用可能になったこともGWTの普及を後押しするのではないだろうか。