コンテンツにスキップ

Google Web Toolkit

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。218.231.203.253 (会話) による 2012年5月3日 (木) 00:05個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

Google Web Toolkit
開発元 Google
最新版
2.4 / 2011年09月08日現在
リポジトリ ウィキデータを編集
対応OS Windows, Mac OS X, Linux
種別 Ajaxフレームワーク
ライセンス Apache License 2.0
公式サイト http://code.google.com/webtoolkit
テンプレートを表示

Google Web ToolkitGWT)は、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]

リリース履歴:

現在の最新版は 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 向けの GWT4NBEclipse 向けの Cypal Studio for GWTやGoogle社が作成、提供しているGoogle Plugin for EclipseJDeveloper 向けの 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 GWTGWT Component LibraryGWT Widget LibraryGWT-ExtGWTigerRocket GWT などがある。

関連項目

脚注

  1. ^ Google Web Toolkit License Information” (2007年2月23日). 2007年9月25日閲覧。
  2. ^ Google Web Toolkit Release Archive”. Google. 2007年9月25日閲覧。
  3. ^ a b c Olson, Steven Douglas (2007). Ajax on Java. O'Reilly. pp. 183. ISBN 978-0596101879 
  4. ^ 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 
  5. ^ 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 

外部リンク