Revision 15 as of 2015-02-10 07:53:32

Clear message
Locked History Actions

GWT/SuperDevMode

Super Dev Mode

以下ではEclipse Luna、GWT2.7、Google Plugin for Eclipse 4.4を前提としている。

Dev Modeの問題点

  • Dev Modeを使用するには、ブラウザ側に専用のプラグインを追加する必要があるが、これは最近のブラウザではもはやサポートされなくなっている。
    このため、Firefox+pluginにてDev Modeを使用した開発を行うには、わざわざ過去のバージョンのFirefoxを使用しなければならない。

  • Dev Modeは遅い。

Super Dev Mode使用の準備

Dev Modeで開発していたプロジェクトをSuper Dev Mode用にするには、何点か書き換えを行う必要がある。これはGWT2.7以前からGWT2.7への対応も含まれる。

  • Google Web Toolkitを、gwt2.7以前の、例えばgwt2.6.1からgwt2.7に変更する。
  • .gwt.xmlの中にgwt.logging.firebugHandler、gwt.logging.popupHandlerを使用している場合には、以下をそれらの前に挿入する。もはやサポートされていないため。

  <define-property name="gwt.logging.popupHandler" values="ENABLED, DISABLED" />
  <define-property name="gwt.logging.firebugHandler" values="ENABLED, DISABLED" />
  • 当然だが、build.xmlで.warファイルを生成している場合には、その参照するgwtのバージョンも変更する。

通常の利用

初回起動

  • Eclipse上にあるこれまでの起動構成(run configuration)は使わず、新たに起動構成を作成するため、プロジェクトを右クリックし、Run As > Web Application(GWT Super Dev Mode)を選択する。

  • 一旦停止し、起動URLをデフォルトから変更している場合には、起動構成に-startupUrlを追加。また、VM Argumentsの中の-Xmlの値を大きくしておかないとメモリ不足になる可能性がある。

ブラウザに「再コンパイル」ボタンを置く

起動すると、Consoleの方に

The code server is ready at http://127.0.0.1:9876/

という表示がされる。このURLにアクセスすると「Dev Mode On」「Dev Mode Off」というボタンが表示されるので「Off」の方をブックマークして、「GWT再コンパイル」などという名前をつける(なぜかOnの方はうまく動作しない)。GWTマニュアルでは、「再コンパイルボタン」は自動的に表示されるとあるが、なぜか表示されないためこうする。

デバッグ対象の表示

Development Modeの方に

http://127.0.0.1:9876/Test.html

あるいは、起動URLをルートにしている場合

http://127.0.0.1:9876/

などという表示がされるので、ここにアクセスする。この時、目的画面が表示される以前に「Compiling ...」という表示がされ若干待たされる。

クライアントの再コンパイル

起動したままクライアントコードを変更し、「GWT再コンパイル」ボタンで再コンパイルすることができる。もちろん、画面はリロードされてしまうことに注意。 このときはそれほど待たされることはない。

デバッグ機能

サーバ側

サーバ側のデバッグはこれまで通り。Eclipseのデバッガでデバッグを行うことができ、またサーバコードを変更した場合、再起動しなければそれは反映されない。 「GWT再コンパイル」ボタンはクライアントコード用であるので、これを押しても無意味。

クライアント側

クライアント側のデバッグはEclipseでは不可能になった。

参考ほか