LinuxのHostedモード
Hostedモードは内部でSWTのブラウザウィジェットを利用していて、WindowsはTrident(IEの中の人)、LinuxはMozilla(Firefoxの中の人)、MacOSXはWebkit(Safariの中の人)といったようにOSごとに利用するブラウザを変えることでソースレベルの互換性を保っている。
GWTCavnasを使ったアプリのデバッグをWindowsでする場合、この仕様とIE(Trident)のVMLの遅さが災いして完全にHostedモードのメリットが失われてしまいまったくデバッグにならないので、Linuxに移行しようと考えたのだが・・・
結論から先に言うと現行のバージョンではLinuxでもまったくデバッグにならないorz
Linux版GWTのHostedモードに搭載されているMozillaはVersion 1.7.12(2005年9月)であり、Canvas自体搭載されておらずGWTCanvas関係のクラスは一切動作しない。GWTCanvasが遅いからLinuxのMozillaでやれば速いだろうと考えるとえらい目にあうので気をつけましょうw(俺だけかwww)
SWT関係で調べるとMOZILLA_FIVE_HOME環境変数でMozillaが入ったディレクトリを指定できるような記述がちらほら見受けられるのでHostedモードが余計な改造をしていなければこれを利用してCanvasに対応したMozillaに差し替える荒業も使えそうな気がしたのだが、どうやら無理な模様・・・。
で、どうもHosteモードは遅いというのはGoogleも認識しているようで、その対策としてOOPHMなるものを作ることを計画しており、2.0で導入予定のようだ。専用のプラグインを組み込めばそのプラグインとGWTモジュールを管理するJava仮想マシンがTCPで情報をやりとりすることによってHostedモードと同じ事がネイティブのブラウザでできるようになるというもののようだ。
現在はsvnにソースが登録されており、チェックアウトしてantでビルドすれば利用できるのだが、ビルドしても1.7から導入されたHostedModeクラス(いままではGWTShellクラス)に対応しておらず、1.6を利用しないと動かないようだ・・・orz
このwikiの更新情報RSS