Google Web Toolkit

Javaを使ってウェブ用Ajaxアプリケーションを開発できるオープンソースのJavaソフトウェア開発フレームワーク ウィキペディアから

Google Web Toolkit

Google Web Toolkit (GWT) は、Javaを使ってウェブ用Ajaxアプリケーションを開発できるオープンソースのJavaソフトウェア開発フレームワークである。Apache License 2.0でライセンスされている[2][3]

概要 開発元, 最新版 ...
Google Web Toolkit
Thumb
開発元 Google
最新版
2.12.1 / 2024年11月12日 (5か月前) (2024-11-12)[1]
リポジトリ
対応OS Windows, macOS, Linux
種別 Ajaxフレームワーク
ライセンス Apache License 2.0
公式サイト www.gwtproject.org
テンプレートを表示
閉じる

GWTは再利用可能で効率的なAjaxソリューションであることを強調しており、すなわち非同期RPC、履歴管理、ブックマーク、ブラウザ間の移植性の良さなどを特徴とする。

歴史

GWT version 1.0 RC 1 (build 1.0.20) は2006年5月16日にリリースされた[4]。Googleは2006年のJavaOneでGWTを発表した[5]

さらに見る バージョン, 日付 ...
リリース履歴
バージョン 日付
GWT 1.02006年5月17日
GWT 1.12006年8月11日
GWT 1.22006年11月16日
GWT 1.32007年2月5日
GWT 1.42007年8月28日
GWT 1.52008年8月27日
GWT 1.62009年4月7日
GWT 1.72009年7月20日
GWT 2.02009年12月8日
GWT 2.1.02010年10月19日
GWT 2.2.02011年2月11日
GWT 2.3.02011年5月3日
GWT 2.4.02011年9月8日
GWT 2.5.02012年10月25日
GWT 2.5.12013年3月9日
GWT 2.6.02014年1月30日
GWT 2.6.12014年5月10日
GWT 2.7.02014年11月20日
GWT 2.8.02016年10月20日
GWT 2.8.12017年4月24日
GWT 2.8.22017年10月19日
GWT 2.9.02020年5月13日
GWT 2.10.02022年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向けの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コンポーネント : 実装に時間のかかる動的機能(ドラッグ・アンド・ドロップや仮想ツリー構造など)が予め実装されたクラスを使うことができる[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 GWTGWT Component LibraryGWT Widget LibraryGWT-ExtGWTigerRocket GWT などがある。

関連項目

脚注

参考文献

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.