Google Web Toolkit
表示
開発元 | |
---|---|
最新版 |
2.10.0 / 2022年6月9日[1] |
リポジトリ | |
対応OS | Windows, macOS, Linux |
種別 | Ajaxフレームワーク |
ライセンス | Apache License 2.0 |
公式サイト |
www |
Google Web Toolkit (GWT) は、Javaを使ってウェブ用Ajaxアプリケーションを開発できるオープンソースのJavaソフトウェア開発フレームワークである。Apache License 2.0でライセンスされている[2][3]。
GWTは再利用可能で効率的なAjaxソリューションであることを強調しており、すなわち非同期RPC、履歴管理、ブックマーク、ブラウザ間の移植性の良さなどを特徴とする。
歴史[編集]
GWT version 1.0 RC 1 (build 1.0.20) は2006年5月16日にリリースされた[4]。Googleは2006年のJavaOneでGWTを発表した[5]。バージョン | 日付 |
---|---|
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.1.0 | 2010年10月19日 |
GWT 2.2.0 | 2011年2月11日 |
GWT 2.3.0 | 2011年5月3日 |
GWT 2.4.0 | 2011年9月8日 |
GWT 2.5.0 | 2012年10月25日 |
GWT 2.5.1 | 2013年3月9日 |
GWT 2.6.0 | 2014年1月30日 |
GWT 2.6.1 | 2014年5月10日 |
GWT 2.7.0 | 2014年11月20日 |
GWT 2.8.0 | 2016年10月20日 |
GWT 2.8.1 | 2017年4月24日 |
GWT 2.8.2 | 2017年10月19日 |
GWT 2.9.0 | 2020年5月13日 |
GWT 2.10.0 | 2022年6月9日 |
開発[編集]
GWTを使うとAjaxアプリケーションをJavaとJava用開発ツールを使って素早く開発できる。そして、そのアプリケーションを配布する際には、GWTクロスコンパイラがJavaからJavaScriptへの変換を行い、オプションで高度に最適化された︵読みにくい︶コードも生成できる。
GWTは単にインタフェースまわりの開発にとどまらず、JavaScriptを使った任意の高機能クライアントを構築できる。GWT開発者は、GWTは単なるライブラリではなく、新たなAjaxライブラリの実装というだけではないことを強調する。そのオープンエンドの哲学は徹底しており、多くのアーキテクチャ上の決定がGWTを利用する開発者に委ねられている。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コンポーネント : 実装に時間のかかる動的機能︵ドラッグ・アンド・ドロップや仮想ツリー構造など︶が予め実装されたクラスを使うことができる[6]。 ●単純なRPC機構 ●ブラウザ履歴管理 ●高機能Javaデバッガサポート[5] ●ブラウザ間の非互換問題への対処[5] ●JUnit統合 ●国際化が容易 ●JavaScript Native Interface (JSNI) を使って、人間が書いたJavaScriptコードとJavaソースコードを組み合わせることができる。 ●Google のAPIをGWTアプリケーションで使えるようサポート︵Google Gears など︶。 ●オープンソース ●JavaScriptではなくJavaを使って開発できるので、純粋なオブジェクト指向でアプリケーションを設計できる[6]。誤字やデータ型の不一致など、JavaScriptで実行時に発生する主なエラーは、コンパイル時に検出できる。 ●GWTコンパイラが生成するJavaScriptのコードは、人間が読みやすい形式とダウンロードが高速な︵読みにくい︶形式を選択できる[6]。 ●GWT向けの各種ライブラリをGoogleやサードパーティーが提供している。それを使ってGWTの機能を拡張可能[6]。使用可能なウィジェット[編集]
version 1.4︵2007年8月︶で提供しているウィジェットは以下の通り[7]。 ●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 などがある。関連項目[編集]
脚注[編集]
(一)^ “The GWT Release Notes”. 2017年7月18日閲覧。
(二)^ “Google Web Toolkit License Information”. Google (2007年2月23日). 2007年9月25日閲覧。
(三)^ “[GWT] Terms GWT License GWT Name Use Policy Privacy”. 2020年11月29日閲覧。
(四)^ “Google Web Toolkit Release Archive”. Google. 2007年9月25日閲覧。
(五)^ abcOlson, Steven Douglas (2007年). Ajax on Java. O'Reilly. pp. 183. ISBN 978-0596101879
(六)^ abcdPerry, 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