Google Web Toolkit
略称はGWT。JavaScriptをJavaで書いてしまい、AJAXを簡単に実装してしまおうといういわば荒業的フレームワーク。
感想
激しく便利。特にお気に入りのIDEで、静的型チェックをしながらゴニョゴニョできるのがすばらしぃ。
Java5のアノテーションがあるとJavaのソースをJavaScriptにコンパイルうするときにコンパイラが困ってしまうっぽい。(→ドキュメントによるとJava5はサポートされていてアノテーションも使えるらしい→ どこに書いてあったか忘れたけど)
個人的には、もう二度とめんどくさいJavaScriptを直接書きたくなくなってくる。(が、実際にはそうではないと思う。)
自分で書いたJavaScriptをGWTでも使えるよう、JSNIというのが用意されている。→かなり便利。
必要だと思う前提知識
・Java - 基礎的なJavaの知識が必要。JavaScriptにコンパイル可能なクラスは限定されているのでJavaのAPIを熟知している必要はない。ただし、クライアントサーバー間通信をやりたいときにリモート呼び出し(RMI)関連の経験があると素早く取得できると思う。
・HTML/DOMなど - HTMLとかで表を作る際に、どのようなタグが必要なのか、という知識が必要。DOMの知識、概念的なものは知っておくべきだと思う。
・AJAXの非同期通信 - ほとんど必要ない。が、非同期通信の概念、バックエンドで行われていることがあらかじめ入っているとよいと思う。
・英語 - 日本語のドキュメントが全く用意されていないっぽいので、Web系の技術英語の能力は必須。
あったらいいかもしれない前提知識
・GUIプログラミングの経験 - 自分はやったことないけど、コードの書き方がGUIプログラミングに似ているかも。自分はGUIプログラミングとかやったことないので、たぶん経験がなくても大丈夫。
たぶんそのうち困ること
・Javaスクリプトへのコンパイル時に何らかのエラーが発生したときに対応できない可能性がある。
・ブラウザ間で万が一にも動作が異なる場合、対処できない可能性がある。
→ おそらくユーザーの多いでかい企業で採用するにはリスクがあるかと。
→ 中小規模の8割の完成度でサービスを作るような企業には最適かも。