Google Web Toolkit ( GWT / ˈ ɡ w ɪ t / )、またはGWT Web Toolkit [ 1 ]は、Web 開発者がJavaでJavaScriptフロントエンドアプリケーションを作成および保守できるようにするオープンソースのツールセットです。Apache License 2.0の下でライセンスされています。[ 2 ]
GWTは、非同期リモートプロシージャコール、履歴管理、ブックマーク、UI抽象化、国際化、クロスブラウザ互換性など、さまざまなWeb開発タスクをサポートします。
GWT バージョン 1.0 RC 1 は 2006 年 5 月 16 日にリリースされました。[ 3 ] Google は2006 年のJavaOneカンファレンスで GWT を発表しました。[ 4 ]
2010年8月、GoogleはInstantiationsを買収しました[ 5 ]。Instantiationsは、Eclipse Java開発者ツール、特に現在Google Plugin for EclipseにバンドルされているGWT Designerに注力していることで知られる企業です。
2011年にDartプログラミング言語が導入された際、GoogleはGWTが当面の間サポートされ続けると述べ、同時に構造化Webプログラミングに対するGoogleの2つのアプローチ間の和解の可能性を示唆した。しかし、以前GWTに取り組んでいたエンジニアの何人かが現在Dartに取り組んでいるとも述べた。[ 6 ]
2012年にGoogleは年次I/Oカンファレンスで、GWTがGoogleプロジェクトから完全なオープンソースプロジェクトに移行すると発表した。[ 7 ] 2013年7月、GoogleはGWTブログでオープンソースプロジェクトへの移行が完了したと投稿した。[ 8 ]
GWTを使用すると、開発者は選択したJava開発ツールを使用して、Java言語でAjaxアプリケーションを開発およびデバッグできます。アプリケーションがデプロイされると、GWTクロスコンパイラはJavaアプリケーションを、オプションで難読化および高度に最適化されたスタンドアロンのJavaScriptファイルに変換します。必要に応じて、Javaコメントを使用してJavaScriptをJavaコードに直接埋め込むこともできます。[ 9 ]
GWT は、ユーザー インターフェイス プログラミングと並行してクライアント側の JavaScript 機能を構築するためのツールを提供し、アーキテクチャ上の決定は開発者に委ねます。GWT のミッション ステートメント[ 10 ]は、GWT の役割と開発者の役割の哲学的な区分を明確にしています。履歴はその一例です。GWT は、ユーザーがブラウザで戻るまたは進むをクリックしたときに履歴トークンを管理しますが、履歴トークンをアプリケーションの状態にマッピングする方法については詳細に説明していません。
GWTアプリケーションは、次の2つのモードで実行できます。
他のIDEでGWT開発を容易にするためのオープンソースのプラグインがいくつかあり、NetBeans用のGWT4NB [ 15 ]、Cypal Studio for GWT [ 16 ](Eclipseプラグイン)、JDeveloper用のGWT Developerなどがあります。Eclipse用のGoogleプラグインは、プロジェクトの作成、GWTコンパイラの呼び出し、GWT起動構成の作成、検証、構文ハイライトなど、IDE内のGWT関連のタスクのほとんどを処理します。
GWTの主要構成要素は以下のとおりです。
バージョン2.4(2011年9月)現在、Google Web Toolkitはいくつかのウィジェット[ 21 ]とパネルを提供しています。[ 21 ]
GWTには含まれていない多くの一般的なウィジェットは、サードパーティのライブラリで実装されています。
GWT は、 Java、Apache Tomcat (または同様の Web コンテナ)、Eclipse IDE、Internet Explorer、[ 22 ]、および国際化とローカライズを使用またはサポートしています。Java ベースの GWTリッチ Web アプリケーションは、JUnitテスト フレームワークとコード カバレッジ ツールを使用してテストできます。GWT は、開発中に実装エラーを検出するために、画像、CSS、およびビジネス ロジックのコンパイル時検証を提供します。
Google は、自社製品の一部が GWT ベースであることを指摘しています。[ 23 ] Blogger、AdWords、Flights、Wallet、Offers、Groups、Inbox。[ 24 ]
2009年12月8日、GoogleはSpeed Tracerを搭載したGoogle Web Toolkit 2.0をリリースした。[ 25 ]
GWTのバージョン2.0では、以下のような多くの新機能が提供されています[ 26 ]。
新しい開発モードではプラットフォーム固有のコードのほとんどが削除されたため、新バージョンは以前のバージョンとは異なり、サポート対象プラットフォームごとに個別のアーカイブではなく、単一のアーカイブとして配布されます。
Google Web Toolkitは、Webアプリ開発のための汎用フレームワークとしてだけでなく、モバイルアプリやタブレットアプリの開発フレームワークとしても利用できます。必要なウィジェットやアニメーションをゼロから作成するか、GWT用のモバイルフレームワークのいずれかを使用することで、モバイルアプリやタブレットアプリを作成できます。GWTで記述されたHTML5アプリは、タブレットとスマートフォンでそれぞれ異なるビューを持つことができます。
JavaScriptへのコンパイラの主要な実行エントリポイント。
対応するJsソースに
コンパイルするクラスのベース。
JProgram