nogの日記: Google Web Toolkit (GWT) 2.0 メモ
簡単なタイマーのソフトないかな?と思って探そうと思ったけど、これくらいなら作れるかと思った。
前から興味のあったJavaScriptでやってみようかと思ったんだけど、表示するまでにかなり覚えなきゃいけないことが多いことが解った。HTMLなんてスラドの日記用タグくらいしか覚えていないし、CSSなんか覚えるつもりないし、、、既存のものを改造する程度ならいいだろうけど。
ちなみになぜJavaScriptかというと、どこでも動かせそうだから。
最初はMac OS X の Snow Leopardについてる Dashcodeで試していた。んで、先の覚えなきゃいけないことが多いことに気がつかされた。ちょっと楽をしようとして、JavaScriptのライブラリで検索しているときに見つけたのが Google Web Toolkit (略してGWT)。Javaで作ったものをJavaScriptに変換する代物なので、JavaScriptを覚えるには全然間違った選択なのだが、まあそれは手段であって目的じゃないってことでしばらくつっついてみた。
自作のプログラム作成・ラウンチャー(こら)として使っているる Eclipseには、1.7がインストールされていた。確か Google Waveの招待もらった辺でインストールした記憶がある。とりあえずプロジェクトを作成して実行するが、プラグインは落ちるはスタックトレースが出まくりで、動作がおかしい。まあ、スタックトレースはこんなもんかと割り切ったりできるが、プラグインが落ちるってのはどうもおかしい。このあたりでGoogleで検索しまくったんだけど、その対応策もあったんだけどバージョン 2.0があることを発見。多少不安があるものの、2.0をインストール。
2.0をインストールして実行したが、自体はより悪い方に動いたように感じた。1.7ではデバッグ用のブラウザが立ち上がっていたが、2.0ではそれも立ち上がらなくなった。ただコンソールにデバッグ用のURLが出てきていたのでこれを Chromeで見ようとするとプラグインが必要だけどChromeじゃみれないよ!Safari使えみたいなメッセージが出てきてた(かなりうろ覚え)。しょうがないんでSafari(というかWebkit.app)でプラグインをインストールして実行したら、動いた。サーバとの通信でエラー出ていたメッセージも減っている。
ここでようやくスタート地点にたどり着いた気分。サンプルの動作やプログラムやらHTMLファイルを覗いたり、変更しながら、こんなもんかなぁと想像中。ちょっとだけ抜粋すると、
- main関数に当たるのが、onModuleLoad。Eclipseのプロジェクト名のファイルの中にある。
- UIは、AWTやSwingとは別にGWT用のものがある。元からあるJavaのデスクトップアプリケーションをそのまま動かすって感じにはならないんだろうねぇ。
- Java側では、RootPanel.get("foo").add(bar)で、barというUIを追加できる。そして HTMLファイル側で foo の idを持つタグが必要。
- GWTのAPIを調べるには、プラグインの中にJavaDocがある。
だいたいこんな感じでした。いまはどういう見た目にするかで悩み中。あと、動いているサンプルの動作を崩さないようにビクビクしながら変更中って具合ですかねぇ、、、