Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Google Web Toolkit

From Wikipedia, the free encyclopedia
Free Java library
This articlecontainspromotional content. Please helpimprove it by removingpromotional language and inappropriateexternal links, and by adding encyclopedic text written from aneutral point of view.(October 2019) (Learn how and when to remove this message)

Google Web Toolkit
Original authorGoogle
Initial releaseMay 16, 2006; 19 years ago (2006-05-16)
Stable release
2.12.2 / March 3, 2025; 7 months ago (2025-03-03)
Repository
Written inJava
Operating systemLinux,Windows,MacOS,FreeBSD
Available inJava
TypeAjax framework
LicenseApache License 2.0
Websitewww.gwtproject.org

Google Web Toolkit (GWT/ˈɡwɪt/), orGWT Web Toolkit,[1] is anopen-source set oftools that allowsweb developers to create and maintainJavaScriptfront-end applications inJava. It is licensed underApache License 2.0.[2]

GWT supports various web development tasks, such asasynchronous remote procedure calls, history management,bookmarking,UI abstraction,internationalization, andcross-browserportability.

History

[edit]

GWT version 1.0 RC 1 was released on May 16, 2006.[3] Google announced GWT at theJavaOne conference in 2006.[4]

Release history
ReleaseDate
GWT 1.0May 17, 2006
GWT 1.1August 11, 2006
GWT 1.2November 16, 2006
GWT 1.3February 5, 2007
GWT 1.4August 28, 2007
GWT 1.5August 27, 2008
GWT 1.6April 7, 2009
GWT 1.7July 13, 2009
GWT 2.0December 8, 2009
GWT 2.1.0October 19, 2010
GWT 2.2.0February 11, 2011
GWT 2.3.0May 3, 2011
GWT 2.4.0September 8, 2011
GWT 2.5.0October 2012
GWT 2.5.1March 2013
GWT 2.6.0January 30, 2014
GWT 2.6.1May 10, 2014
GWT 2.7.0November 20, 2014
GWT 2.8.0October 20, 2016
GWT 2.8.1April 24, 2017
GWT 2.8.2October 19, 2017
GWT 2.9.0May 2, 2020
GWT 2.10.0June 9, 2022
GWT 2.11.0January 9, 2024
GWT 2.12.0October 29, 2024
GWT 2.12.1November 12, 2024
GWT 2.12.2March 3, 2025

In August 2010, Google acquired Instantiations,[5] a company known for focusing on Eclipse Java developer tools, including GWT Designer, which is now bundled withGoogle Plugin for Eclipse.

In 2011 with the introduction of theDart programming language, Google stated that GWT would continue to be supported for the foreseeable future while also hinting at a possible rapprochement between the two Google approaches to structured web programming. However, they also mentioned that several of the engineers previously working on GWT are now working onDart.[6]

In 2012 at their annual I/O conference, Google announced that GWT would be transformed from a Google project to a fully open-sourced project.[7] In July 2013, Google posted on its GWT blog that the transformation to an open-source project was completed.[8]

Development with GWT

[edit]

Using GWT, developers have the ability to develop and debugAjax applications in the Java language using the Java development tools of their choice. When the application is deployed, the GWT cross-compiler translates the Java application to standaloneJavaScript files that are optionallyobfuscated and deeply optimized. When needed, JavaScript can also be embedded directly into Java code using Java comments.[9]

GWT does not revolve only around user interface programming; it is a broad set of tools for building high-performance client-side JavaScript functionality. Indeed, many architectural decisions are left entirely to the developer. The GWT mission statement[10] clarifies the philosophical breakdown of GWT's role versus the developer's role. History is an example of such: although GWT manages history tokens as users click Back or Forward in the browser, it does not detail how to map history tokens to an application state.

GWT applications can be run in two modes:

  • Development mode (formerlyHosted mode): The application runs as Java bytecode within theJava Virtual Machine (JVM).[11] This mode is typically used for development, supporting thehot swapping of code and debugging. In 2014, the classic implementation of Dev Mode was rendered unusable by browser updates[12][13] until its replacement with the more compatibleSuper Dev Mode, which became the default in GWT 2.7.[14]
  • Production mode (formerlyWeb mode): The application is run as pure JavaScript and HTML, compiled from the Java source. This mode is typically used for deployment.

Several open-sourceplugins are available for making GWT development easier with otherIDEs, including GWT4NB[15] forNetBeans, Cypal Studio for GWT[16] (anEclipse plugin), and GWT Developer forJDeveloper. TheGoogle Plugin for Eclipse handles most GWT-related tasks in the IDE, including creating projects, invoking the GWT compiler, creating GWT launch configurations, validation, andsyntax highlighting.

Components

[edit]

The major GWT components include:

GWT Java-to-JavaScript Compiler[17][18]
Translates the Java programming language to the JavaScript programming language.
GWT Development Mode
Allows the developers to run and execute GWT applications in development mode (the app runs as Java in the JVM without compiling to JavaScript). Prior to 2.0, GWT hosted mode provided a special-purpose "hosted browser" to debug your GWT code. In 2.0, the web page being debugged is viewed within a regular browser. Development mode is supported by using a native-code plugin called the Google Web Toolkit Developer Plugin for many popular browsers.
JRE emulation library
JavaScript implementations of the commonly used classes in the Java standard class library (such as most of the java.lang package classes and a subset of the java.util package classes).
GWT Web UI class library
A set of custom interfaces and classes for creatingwidgets.

Features

[edit]
  • Dynamic and reusableUI components: programmers can use built-in classes to implement otherwise time-consuming dynamic behaviors, such as drag-and-drop or complex visual tree structures.[19]
  • SimpleRPC mechanism
  • Browser history management
  • Support for full-featured Java debugging[4]
  • GWT handles some cross-browser issues for the developer.[4]
  • Unit testing integration
  • Support forInternationalization and localization
  • HTML Canvas support (subject to API changes)[20]
  • The developers can mix handwritten JavaScript in the Java source code using the JavaScript Native Interface (JSNI).
  • Support for using GoogleAPIs in GWT applications (initially, support forGoogle Gears).
  • Open-source
  • The developers can design and develop their applications in a pure object-oriented fashion since they're using Java (instead of JavaScript).[19] Common JavaScript errors, such as typos andtype mismatches, are caught at compile time.
  • The JavaScript that the GWT compiler generates can be tailored to be either unobfuscated (Source-Mapped or Source-Code) and easier to understand or obfuscated and compressed.[19]
  • A number of libraries are available for GWT, by Google and third parties. These extend the toolkit's features.[19]

Available widgets

[edit]

As of version 2.4 (September 2011), Google Web Toolkit offers severalwidgets[21] and panels.[21]

Widgets and panels
WidgetsPanels
ButtonPopupPanel
PushButtonStackPanel
RadioButtonStackLayoutPanel
CheckBoxHorizontalPanel
DatePickerVerticalPanel
ToggleButtonFlowPanel
TextBoxVerticalSplitPanel
PasswordTextBoxHorizontalSplitPanel
TextAreaSplitLayoutPanel
HyperlinkDockPanel
ListBoxDockLayoutPanel
CellListTabPanel
MenuBarTabLayoutPanel
TreeDisclosurePanel
CellTree
SuggestBox
RichTextArea
FlexTable
Grid
CellTable
CellBrowser
TabBar
DialogBox

Many common widgets not found in the GWT have been implemented in third-party libraries.

Enterprise usage

[edit]

GWT uses or supportsJava,Apache Tomcat (or similar web container),Eclipse IDE,Internet Explorer,[22] andinternationalization and localization. Java-based GWTrich web applications can be tested usingJUnit testing framework and code coverage tools. Because GWT allows compile time verification of images, CSS, and business logic, many common development defects are automatically discovered without requiring the manual testing commonly required by RIAs.

Google has noted that some of its products are GWT-based:[23]Blogger,AdWords,Flights,Wallet,Offers,Groups,Inbox.[24]

GWT 2.0

[edit]

On December 8, 2009, Google launched Google Web Toolkit 2.0 with Speed Tracer.[25]

Version 2.0 of GWT offers a number of new features,[26] including:

  • In-Browser Development Mode (formerly known as Out Of Process Hosted Mode, OOPHM): prior to version 2.0, the hosted mode was used to embed a modified browser to allow running the bytecode version of the application during development. With version 2.0, hosted mode, renamed "development mode", allows using any (supported) browser to view the page being debugged through the use of a browser plugin. The plugin communicates with the development mode shell using TCP/IP, which allows cross-platform debugging (for example, debugging in Internet Explorer on Windows from a development mode shell running on a Linux machine).
  • Code splitting: with the developer providing "split points" in the source code, the GWT compiler can split the JavaScript code into several small chunks instead of one big download. This will lead to reduced application startup time as the size of the initial download is decreased.
  • Declarative User Interface: using an XML format, the new feature known as UiBinder allows the creation of user interfaces through declaration rather than code. This allows a clean separation of UI construction and behavior implementation.
  • Resource bundling: the ClientBundle interface will allow resources of any nature (images, CSS, text, binary) to be bundled together and transferred in one download, resulting in fewer round-trips to the server and hence lower application latency.

Since the new development mode removed most platform-specific code, the new version will be distributed as a unique archive, instead of one per supported platform, as was the case with previous versions.

Mobile

[edit]

As a general framework for making web apps, Google Web Toolkit is also capable of being used as a framework for creating mobile and tablet apps, either by making the needed widgets and animations from scratch or by using one of the mobile frameworks for GWT. An HTML5 app written in GWT can have separate views for Tablets and Mobile phones.

See also

[edit]

References

[edit]
  1. ^"GWT Name Use Policy". RetrievedApril 23, 2014.
  2. ^"Google Web Toolkit License Information". February 23, 2007. RetrievedSeptember 25, 2007.
  3. ^"Google Web Toolkit Release Archive". RetrievedSeptember 25, 2007.
  4. ^abcOlson, Steven Douglas (2007).Ajax on Java. O'Reilly. p. 183.ISBN 978-0-596-10187-9.
  5. ^Ramsdale, Chris."Google Relaunches Instantiations Developer Tools".
  6. ^"Google Web Toolkit Blog: GWT and Dart". Googlewebtoolkit.blogspot.com. November 10, 2011. RetrievedJune 16, 2013.
  7. ^Vaadin to Support Google Web Toolkit (GWT) Development. vaadin.com (June 29, 2012). Retrieved on 2014-05-15.
  8. ^Google Web Toolkit Blog: GWT News. Googlewebtoolkit.blogspot.com (July 15, 2013). Retrieved on 2014-05-15.
  9. ^"Coding Basics - JavaScript Native Interface (JSNI) - Google Web Toolkit — Google Developers". Google Inc. October 25, 2012. RetrievedJune 16, 2013.
  10. ^GWT mission statement
  11. ^Debugging in Development Mode
  12. ^"Development Mode will not be supported in Firefox 27+".google-web-toolkit@googlegroups.com (Mailing list).
  13. ^"GWT Developer Plugin no longer works with Chrome on Linux".google-web-toolkit@googlegroups.com (Mailing list).
  14. ^"Super Dev Mode".
  15. ^GWT4NB
  16. ^Cypal Studio for GWT
  17. ^"com.google.gwt.dev.Compiler".GitHub.The main executable entry point for the GWT Java to JavaScript compiler.
  18. ^"com.google.gwt.dev.jjs.JavaToJavaScriptCompiler".GitHub.A base for classes that compile JavaJProgram representations into corresponding Js source.
  19. ^abcdPerry, Bruce W (2007).Google Web Toolkit for Ajax. O'Reilly Short Cuts. O'Reilly. pp. 1–5.ISBN 978-0-596-51022-0.
  20. ^"GWT Javadoc Canvas".
  21. ^ab"Widget List". Google Inc. RetrievedMay 21, 2012.
  22. ^GWT Project. GWT Project. Retrieved on May 15, 2014.
  23. ^"Google I/O 2012 - The History and Future of Google Web Toolkit". GoogleDevelopers. July 10, 2012. RetrievedMarch 18, 2013.
  24. ^Toubassi, Garrick."Going under the hood of Inbox".Official Gmail Blog. RetrievedNovember 22, 2014.
  25. ^Introducing Google Web Toolkit 2.0, now with Speed Tracer
  26. ^"GWT 2.0 milestone 1 announcement". Amit Manjhi. RetrievedOctober 5, 2009.

Bibliography

[edit]
.NET
C++
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Rust
Scala
Smalltalk
Other languages
Code analysis
Subsets,* supersets
Transpilers
Concepts
Debuggers
Documentation generators
Editors (comparison)
Engines
Frameworks
Relatedtechnologies
Package managers
Module bundlers
Server-side
Unit testing frameworks (list)
People
Platforms
Technologies
Oracle
Platform
Major
third-party
History
JVM
languages
Community
Conferences
Organizations
People
Dialects
Engines
Frameworks
Client-side
Server-side
Multiple
  • Cappuccino
Libraries
People
Other
a subsidiary ofAlphabet
Company
Divisions
Subsidiaries
Active
Defunct
Programs
Events
Infrastructure
People
Current
Former
Criticism
General
Incidents
Other
Software
A–C
D–N
O–Z
Operating systems
Machine learning models
Neural networks
Computer programs
Formats and codecs
Programming languages
Search algorithms
Domain names
Typefaces
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Hardware
Pixel
Smartphones
Smartwatches
Tablets
Laptops
Other
Nexus
Smartphones
Tablets
Other
Other
Advertising
Antitrust
Intellectual
property
Privacy
Other
Related
Concepts
Products
Android
Street View coverage
YouTube
Other
Documentaries
Books
Popular culture
Other
Low-level platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
OnWindows
OnUnix
OnBeOS,Haiku
OnAndroid
CLI
Low Level Cross-platform
CLI
C
Java
High-level, platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
Object Pascal
Objective-C,Swift
C++
CLI
OnWindows
CLI
C++
Object Pascal
OnUnix andX11
High-level, cross-platform
C
C++
Objective-C
CLI
Adobe Flash
Go
Haskell
Java
JavaScript
Common Lisp
Lua
Pascal
Object Pascal
Perl
PHP
Python
Ruby
Tcl
XML
shell
Dart
Basic frameworks
Site-specific browsers
Authority control databasesEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Google_Web_Toolkit&oldid=1305758935"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp