Google Web Toolkit
開発元 | |
---|---|
最新版 |
2.4
/ 2011年09月08日現在 |
リポジトリ | |
対応OS | Windows, Mac OS X, Linux |
種別 | Ajaxフレームワーク |
ライセンス | Apache License 2.0 |
公式サイト | http://code.google.com/webtoolkit |
Google Web Toolkit(GWT)は、Javaを使ってウェブ用Ajaxアプリケーションを開発できるオープンソースのJavaソフトウェア開発フレームワークである。Apache License 2.0 でライセンスされている[1]。
GWT は再利用可能で効率的なAjaxソリューションであることを強調しており、すなわち非同期RPC、履歴管理、ブックマーク、ブラウザ間の移植性の良さなどを特徴とする。
歴史
GWT version 1.0 RC 1 (build 1.0.20) は2006年5月16日にリリースされた[2]。Googleは2006年のJavaOneでGWTを発表した[3]。
リリース履歴:
- GWT 1.0 2006年5月17日
- GWT 1.1 2006年8月11日
- GWT 1.2 2006年11月16日
- GWT 1.3 2007年2月5日
- GWT 1.4 2007年8月28日
- GWT 1.5 2008年8月27日
- GWT 1.6 2009年4月7日
- GWT 1.7 2009年7月20日
- GWT 2.0 2009年12月8日
- GWT 2.0 December 08, 2009
- GWT 2.0.1 February 02, 2010
- GWT 2.0.2 February 12, 2010
- GWT 2.0.3 February 19, 2010
- GWT 2.0.4 July 02, 2010
- GWT 2.1.0 October 19, 2010
- GWT 2.1.1 December 16, 2010
- GWT 2.2.0 February 11, 2011
- GWT 2.3.0 May 3, 2011
- GWT 2.4.0 September 8, 2011 (Latest)
現在の最新版は 2.4 である。
開発
GWTを使うと Ajax アプリケーションをJavaとJava用開発ツールを使って素早く開発できる。そして、そのアプリケーションを配布する際には、GWTクロスコンパイラがJavaからJavaScriptへの変換を行い、オプションで高度に最適化された(読みにくい)コードも生成できる。
GWTの目的を記した文書を見ると、GWTの役割と開発者の役割をわかりやすく解説している。例えば、履歴トークンはGWTが管理するが、履歴トークンがアプリケーションの状態とどう対応するかは開発者に委ねられている。
GWTアプリケーションは以下の2つのモードで動作する。
- ホステッドモード: JavaのバイトコードとしてJava仮想マシン (JVM) 上で動作する。一般に開発途中で利用するモードで、コードのホットスワップやデバッグをサポートしている。
- ウェブモード: JavaScript と HTML として動作する。元は Java のソースコードである。開発完了後は、この形態で使用する。
GWTにはコマンド行ユーティリティ applicationCreator があり、GWTプロジェクトを開始するのに必要な全ファイルを自動生成する。Eclipse用プロジェクトファイルを生成することもできる。GWTを使ったIDEでの開発を支援するオープンソースのプラグインがいくつかある。例えば NetBeans 向けの GWT4NB、Eclipse 向けの Cypal Studio for GWTやGoogle社が作成、提供しているGoogle Plugin for Eclipse、JDeveloper 向けの gwtDeveloper などである。
コンポーネント
主なGWTコンポーネントは以下の通り。
- GWT Java-to-JavaScript Compiler
- Javaで書かれたプログラムをJavaScriptに変換する。
- GWT Hosted Web Browser
- 開発時にGWTアプリケーションをホステッドモードで動作させる(JavaScript に変換することなく、Java アプリケーションを JVM 上で動作させる)
- JRE エミュレーションライブラリ
- Java の標準クラスライブラリでよく使われるクラス(java.lang パッケージのクラスや java.util パッケージの一部のクラス)を JavaScript で実装したもの
- GWT Web UI クラスライブラリ
- ウィジェット生成のためのカスタムインタフェースとクラス群
機能
- 動的かつ再利用可能なUIコンポーネント: 実装に時間のかかる動的機能(ドラッグ・アンド・ドロップや仮想ツリー構造など)が予め実装されたクラスを使うことができる[4]。
- 単純なRPC機構
- ブラウザ履歴管理
- 高機能Javaデバッガサポート[3]
- ブラウザ間の非互換問題への対処[3]
- JUnit統合
- 国際化が容易
- JavaScript Native Interface (JSNI) を使って、人間が書いた JavaScript コードと Java ソースコードを組み合わせることができる。
- Google のAPIをGWTアプリケーションで使えるようサポート(Google Gears など)。
- オープンソース
- JavaScript ではなく Java を使って開発できるので、純粋なオブジェクト指向でアプリケーションを設計できる[4]。誤字やデータ型の不一致など、JavaScript で実行時に発生する主なエラーは、コンパイル時に検出できる。
- GWTコンパイラが生成する JavaScript のコードは、人間が読みやすい形式とダウンロードが高速な(読みにくい)形式を選択できる[4]。
- GWT向けの各種ライブラリを Google やサードパーティが提供している。それを使ってGWTの機能を拡張可能[4]。
使用可能なウィジェット
version 1.4(2007年8月)で提供しているウィジェットは以下の通り[5]。
- HTMLプリミティブ(ボタン、ラジオボタン、チェックボックス、テキストボックス、パスワードテキストボックス、テキストエリア、ハイパーリンク、リストボックス、テーブルなど)
- プッシュボタン、トグルボタン
- メニューバー
- ツリー
- タブバー
- ダイアログボックス
- 各種パネル (PopupPanel, StackPanel, HorizontalPanel, VerticalPanel, FlowPanel, VerticalSplitPanel, HorizontalSplitPanel, DockPanel, TabPanel, DisclosurePanel)
- リッチテキストエリア
- サジェストボックス(自動補完)
- デートピッカー(日付選択)
GWTにない一般的ウィジェットはサードパーティのライブラリで実装している。例えば、Ext GWT、GWT Component Library、GWT Widget Library、GWT-Ext、GWTiger、Rocket GWT などがある。
関連項目
脚注
- ^ “Google Web Toolkit License Information” (2007年2月23日). 2007年9月25日閲覧。
- ^ “Google Web Toolkit Release Archive”. Google. 2007年9月25日閲覧。
- ^ a b c Olson, Steven Douglas (2007). Ajax on Java. O'Reilly. pp. 183. ISBN 978-0596101879
- ^ a b c d Perry, Bruce W (2007). Google Web Toolkit for Ajax. O'Reilly Short Cuts. O'Reilly. pp. 1-5. ISBN 978-0596510220
- ^ “Widgets Gallery”. Google. 2007年9月25日閲覧。
参考文献
- Dewsbury, Ryan (2007). Google Web Toolkit Applications. Prentice Hall. ISBN 978-0321501967
- Chaganti, Prabhakar (2007). Google Web Toolkit: GWT Java Ajax Programming. Packt Publishing. ISBN 978-1847191007
- Geary, David (2007). Google Web Toolkit Solutions: More Cool & Useful Stuff. Prentice Hall. ISBN 978-0132344814
- Hanson, Robert; Adam Tacy (2007). GWT in Action: Easy Ajax with the Google Web Toolkit. Manning. ISBN 978-1933988238
- Cooper, Robert; Charlie Collins (2008). GWT in Practice. Manning. ISBN 978-1933988290