GWT2.0をNetBeansで試してみる

GWT2.0がリリースされたようです。日本語ページでは1.7となってますが、ダウンロードのリンクでは2.0がダウンロードされます。
http://code.google.com/intl/ja/webtoolkit/

NetBeansGWTを使う

最初にひとつ。ぶっちゃけEclipseでやることをおすすめします。
で、まあどうしてもNetBeansでやりたい人 向け。
プラグインでGWT4NBをインストールすると使えます。
WebプロジェクトのフレームワークGoogle Web Toolkitを選んで、GWTのパス、モジュール名を入力します。
これで、とりあえず使えるようになります。

DevModeで起動する

GWTコンパイルに時間がかかります。
そこで、開発時にはJavaScriptコンパイルせずに動かすDevMode(以前はHostedMode)というのを使います。
残念ながらGWT4NBでは通常のメニューからはDevModeで起動できないので、antタスクを直接起動する必要があります。まあ、antタスクをツールバーに持ってこれたりするので、よく使うときはショートカットを作成するといいと思います。
で、実行するタスクですが、ファイルウィンドウでbuild.xmlを選択して、ナビゲータで「debug-connect-gwt-shell-hosted」を選択すると実行できます。
ただ、このタスク、そのままではリリースされたGWT2.0に対応していないので、少し修正する必要があります。
修正するのは、nbproject/build-gwt.xmlのdebug-connect-gwt-shell-hosted-20タスクです。
JavaコマンドのclassnameがHostedModeのままになっているので、DevModeに修正します。

<java fork="true" classname="com.google.gwt.dev.DevMode" error="${shell.output}">

また、引数で、-styleが対応しなくなっているので、コメントアウトします。

<!--
<arg value="-style"/>
<arg value="${gwt.shell.output.style}"/> 
-->

これで、DevModeで起動できるはず。

DevModeでGoogle App Engine/Java のサーバーを使う

通常は、サーバーはDevMode組み込みのJettyが使われますが、Google App Engine使うときには、Google App Engine付属のサーバーを使いたい。
ということで、設定方法。


NetBeansGoogle App Engine/Javaの開発するときは、NetBeans support for Google App Engine を使います。設定方法などは、どっか ぐぐってください。
http://kenai.com/projects/nbappengine/pages/Home


さっきのdebug-connect-gwt-shell-hosted-20タスクのJavaコマンドのclasspathに次の2つを追加します。

<path path="${j2ee.platform.classpath}"/>
<path path="${appengine.location}/lib/agent/appengine-agent.jar"/>


あと、引数でサーバー指定します。

<arg value="-server"/>
<arg value="com.google.appengine.tools.development.gwt.AppEngineLauncher"/>


これで「Launch Default Browser」などを押すとブラウザが開きます。
最初の実行時には、プラグインをインストールする必要があります。
Chromeでは、Chrome4を使えと言われたので、beta版をインストールしたのですが、プラグインがインストールできませんでした。どうしたらいいんでしょう?


あと、DevMode使うとGoogle App Engineサーバーの再起動がやりやすいので、楽です。NetBeans GAEプラグインでは、サーバーの再起動ができないので、タスクマネージャでプロセスを殺す必要があったのです。


まあ、ともあれ、FireFoxで動きを試すのはうれしいです。
いままでのHostedModeはIE6ベースの専用ブラウザだったので、ストレスを感じるのに十分なほど重かったのです。今回FireFoxで試せるようになって、その軽さに驚きました。
これは戦闘力あがった。