GWTをSuper Dev Mode で動かす(Maven)

GWT2.5からSuper Dev Modeという機能が追加されています。
この機能を使って開発すると、2.4までの開発モードに比べてクライアント(ブラウザ上)での動作が早くなることや、開発するためにブラウザにGWTプラグインを追加する必要がなかったります。ただ、欠点としてはソースコードの修正等をリアルタイムに反映させることは出来ず、自分で明示的にコンパイルさせなければいけません。

使い方

プロジェクトの作成

サンプルとしてmavenプロジェクトを作成します。

mvn archetype:generate -DarchetypeRepository=repo1.maven.org -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.0

対話形式でgroup idやmodule名等を入力するとgwtの雛形プロジェクトが作成されます。

gwt.xmlへの追記

次に上記で入力したmodule名と同名のgwt.xmlファイル(上記のmodule名にてHogeと入力していればHoge.gwt.xml)に下記の内容を追加します。

<add-linker name="xsiframe" />
<set-configuration-property name="devModeRedirectEnabled" value="true" />
code serverの起動

次はcode serverを起動します。

mvn generate-sources gwt:run-codeserver
プロジェクトの実行

そして、上記code serverを起動している状態でプロジェクトの実行を行います。

mvn gwt:run
code serverへのアクセス
http://localhost:9876/

上記アドレスにアクセスし「Dev Mode on」のボタンのリンクをブラウザのブックマークに追加します。

Super Dev Modeでコンパイル

http://localhost:8888/Hoge.htmlにアクセスし、上記で追加したブックマークをクリックして「Compile」をクリックします。

これでSuper Dev Modeでの開発が可能となります。最初に述べたようにEclipseなどのIDEでソースを修正した後はブックマークをクリックし「Compile」を押さないと修正が反映されませんが、以前の開発モードだとリアルタイムで修正が反映される反面ブラウザの更新まで多くの時間を要していた部分が短縮されるので結果Super Dev Modeの方が開発スピードは上がると思われます。