Thu . 19 Sep 2019
TR | RU | UK | KK | BE |

Google Web Toolkit

google web toolkit, google web toolkit tutorial
Google Web Toolkit GWT /ˈɡwɪt/, or GWT Web Toolkit, is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files It is licensed under the Apache License version 20

GWT emphasizes reusable approaches to common web development tasks, namely asynchronous remote procedure calls, history management, bookmarking, UI abstraction, internationalization, and cross-browser portability


  • 1 History
  • 2 Development with GWT
  • 3 Components
  • 4 Features
    • 41 Available Widgets
  • 5 Enterprise Usage
  • 6 GWT 20
  • 7 Mobile
  • 8 See also
    • 81 Other frameworks
  • 9 References
  • 10 Bibliography
  • 11 External links


GWT version 10 RC 1 was released on May 16, 2006 Google announced GWT at the JavaOne conference, 2006

Release history
Release Date
GWT 10 May 17, 2006
GWT 11 August 11, 2006
GWT 12 November 16, 2006
GWT 13 February 5, 2007
GWT 14 August 28, 2007
GWT 15 August 27, 2008
GWT 16 April 7, 2009
GWT 17 July 13, 2009
GWT 20 December 8, 2009
GWT 210 October 19, 2010
GWT 220 February 11, 2011
GWT 230 May 3, 2011
GWT 240 September 8, 2011
GWT 250 October 2012
GWT 251 March 2013
GWT 260 January 30, 2014
GWT 261 May 10, 2014
GWT 270 November 20, 2014
GWT 280 October 20, 2016

In August 2010, Google acquired Instantiations, a company known for its focus on Eclipse Java developer tools, including GWT Designer, which is now bundled with Google Plugin for Eclipse

In 2011 with the introduction of the Dart programming language, Google has reassured the GWT community that GWT will continue to be supported for the foreseeable future, but also hinted at a possible rapprochement between the two Google approaches to "structured web programming" They've also admitted however that a number of engineers previously working on GWT are now working on Dart

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 In July 2013, Google posted on its GWT blog that the transformation to an open source project was complete

Development with GWT

Using GWT, developers can develop and debug Ajax 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 standalone JavaScript files that are optionally obfuscated and deeply optimized When needed, JavaScript can also be embedded directly into Java code, using Java comments

GWT does not revolve only around user interface programming; it is a general set of tools for building any sort of high-performance client-side JavaScript functionality Indeed, many key architectural decisions are left completely to the developer The GWT mission statement 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 prescribe how to map history tokens to an application state

GWT applications can be run in two modes:

  • Development mode formerly Hosted mode: The application is run as Java bytecode within the Java Virtual Machine JVM This mode is typically used for development, supporting hot swapping of code and debugging In 2014, the classic implementation of Dev Mode was rendered unusable by browser updates until its replacement with the more compatible Super Dev Mode, which became the default in GWT 27
  • Production mode formerly Web mode: The application is run as pure JavaScript and HTML, compiled from the Java source This mode is typically used for deployment

Several open-source plugins are available for making GWT development easier with other IDEs, including GWT4NB for NetBeans, Cypal Studio for GWT an Eclipse plugin, and GWT Developer for JDeveloper The Google Plugin for Eclipse handles most GWT related tasks in the IDE, including creating projects, invoking the GWT compiler, creating GWT launch configurations, validation, and syntax highlighting


The major GWT components include:

GWT Java-to-JavaScript Compiler 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 20, GWT hosted mode provided a special-purpose "hosted browser" to debug your GWT code In 20, the web page being debugged is viewed within a regular browser Development mode is supported through the use of 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 javalang package classes and a subset of the javautil package classes GWT Web UI class library A set of custom interfaces and classes for creating widgets


  • Dynamic and reusable UI components: programmers can use pre-designed classes to implement otherwise time-consuming dynamic behaviors, such as drag-and-drop or sophisticated visual tree structures
  • Simple RPC mechanism
  • Browser history management
  • Support for full-featured Java debugging
  • GWT handles some cross-browser issues for the developer
  • Unit testing integration
  • Support for Internationalization and localization
  • HTML Canvas support subject to API changes
  • The developers can mix handwritten JavaScript in the Java source code using the JavaScript Native Interface JSNI
  • Support for using Google APIs in GWT applications initially, support for Google Gears
  • Open-source
  • The developers can design and develop their application in a pure object-oriented fashion, since they're using Java instead of JavaScript Common JavaScript errors, such as typos and type mismatches, are caught at compile time
  • The JavaScript that the GWT compiler generates can be tailored to be either unobfuscated and easier to understand or obfuscated and smaller to download
  • A number of libraries are available for GWT, by Google and third parties These extend GWT's features

Available Widgets

As of version 24 September 2011, GWT offers several widgets and panels

Widgets and panels
Widgets Panels
Button PopupPanel
PushButton StackPanel
RadioButton StackLayoutPanel
CheckBox HorizontalPanel
DatePicker VerticalPanel
ToggleButton FlowPanel
TextBox VerticalSplitPanel
PasswordTextBox HorizontalSplitPanel
TextArea SplitLayoutPanel
Hyperlink DockPanel
ListBox DockLayoutPanel
CellList TabPanel
MenuBar TabLayoutPanel
Tree DisclosurePanel

Many common widgets not found in the GWT have been implemented in third-party libraries, such as Sencha GXT formerly Ext GWT, GWT Component Library, GWT-Ext, GWT Widget Library, GWTiger, Rocket GWT, Dojo, SmartGWT etc

Enterprise Usage

GWT uses or supports Java, Apache Tomcat or similar web container, Eclipse IDE, Internet Explorer, and Internationalization and Localization Java-based GWT RIAs can be tested using JUnit 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 need of the manual testing commonly required by RIAs

Google has noted that some of its products are GWT based:

  • Blogger
  • AdWords
  • Flights
  • Wallet
  • Offers
  • Groups
  • Inbox

Other companies using GWT are listed on the GWT Reference List and real world projects examples

GWT 20

On Dec 08, 2009 Google launched Google Web Toolkit 20 with Speed Tracer

Version 20 of GWT offers a number of new features, including:

  • In-Browser Development Mode formerly known as Out Of Process Hosted Mode, OOPHM: prior to version 20, hosted mode used to embed a modified browser to allow running the bytecode version of the application during development With version 20, 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 will be able to 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 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


As a general framework for making web apps, GWT is also capable of being used as a framework for making 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

Some of the most common mobile GWT libraries

  • GwtMobile
  • gwt-mobile-webkit
  • jqm4gwt
  • m-gwt
  • gwtbootstrap3

See also

  • Free software portal
  • Dart programming language
  • Google Plugin for Eclipse
  • Showcase/Live Demo of GWT Features
  • Google Code
  • Comparison of JavaScript frameworks
  • Comparison of web frameworks

Other frameworks

  • GWT-Platform GWTP, an annotation based Model-View-Presenter framework for GWT built by Arcbees
  • Errai is a GWT-based framework for building rich web applications using next-generation web technologies Built on-top of ErraiBus, the framework provides a unified federation and RPC infrastructure with true, uniform, asynchronous messaging across the client and server
  • SmartGWT, a GWT framework with a comprehensive widget library and server side databinding capabilities
  • Vaadin, uses GWT as a "rendering engine" on the browser side of its server-based web apps written in Java
  • Vaadin GWT Polymer Elements gives GWT developers a Java API for Google Polymer Elements
  • Sencha GXT, GWT port of the popular Ext JS UI Framework commonly used in Enterprise applications
  • Crux Framework is an open source GWT-based component framework for fast development of web and mobile applications
  • Pyjamas Pyjamas, a port of GWT to Python
  • RubyJS, a port of GWT to Ruby
  • ZK, a similar framework, which is also written in Java
  • GwtPHP, Backend for GWT in PHP
  • Scala+GWT, compile Scala code for the browser via the GWT toolchain
  • JavaCC, GWT compatible parser generator, implement client-side JavaScript-based parsers in Java


  1. ^ "GWT Name Use Policy" Google Retrieved 2014-04-23 
  2. ^ "Google Web Toolkit License Information" Google February 23, 2007 Retrieved 2007-09-25 
  3. ^ "Google Web Toolkit Release Archive" Google Retrieved 2007-09-25 
  4. ^ a b c Olson, 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" Googlewebtoolkitblogspotcom 2011-11-10 Retrieved 2013-06-16 
  7. ^ Vaadin to Support Google Web Toolkit GWT Development vaadincom 2012-06-29 Retrieved on 2014-05-15
  8. ^ Google Web Toolkit Blog: GWT News Googlewebtoolkitblogspotcom 2013-07-15 Retrieved on 2014-05-15
  9. ^ "Coding Basics - JavaScript Native Interface JSNI - Google Web Toolkit — Google Developers" Developersgooglecom 2012-10-25 Retrieved 2013-06-16 
  10. ^ GWT mission statement
  11. ^ Debugging in Development Mode
  12. ^ "Development Mode will not be supported in Firefox 27+" [email protected] Mailing list 
  13. ^ "GWT Developer Plugin no longer works with Chrome on Linux" [email protected] Mailing list 
  14. ^ "Super Dev Mode" 
  15. ^ GWT4NB
  16. ^ Cypal Studio for GWT
  17. ^ "comgooglegwtdevCompiler" The main executable entry point for the GWT Java to JavaScript compiler 
  18. ^ "comgooglegwtdevjjsJavaToJavaScriptCompiler" A base for classes that compile Java JProgram representations into corresponding Js source 
  19. ^ a b c d Perry, 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. ^ a b "Widget List" Google Retrieved 2012-05-21 
  22. ^ GWT Project GWT Project Retrieved on 2014-05-15
  23. ^ "Google I/O 2012 - The History and Future of Google Web Toolkit" GoogleDevelopers Retrieved 2013-03-18 
  24. ^ Toubassi, Garrick "Going under the hood of Inbox" Official Gmail Blog Retrieved 22 November 2014 
  25. ^ Introducing Google Web Toolkit 20, now with Speed Tracer
  26. ^ "GWT 20 milestone 1 announcement" Amit Manjhi Retrieved 2009-10-05 
  27. ^ "Vaadin FAQ" Vaadin Ltd Retrieved 2014-05-11 
  28. ^ "Building parsers for the web with JavaCC & GWT Part one" Chris Ainsley Retrieved 2014-05-04 


  • Dewsbury, Ryan December 15, 2007 Google Web Toolkit Applications Prentice Hall p 608 ISBN 978-0-321-50196-7 
  • Chaganti, Prabhakar February 15, 2007 Google Web Toolkit: GWT Java Ajax Programming Packt Publishing p 248 ISBN 978-1-84719-100-7 
  • Geary, David November 17, 2007 Google Web Toolkit Solutions: More Cool & Useful Stuff Prentice Hall p 408 ISBN 978-0-13-234481-4 
  • Hanson, Robert; Adam Tacy February 7, 2013 GWT in Action 2nd ed Manning p 643 ISBN 978-1-935182-84-9 
  • Cooper, Robert; Charlie Collins May 12, 2008 GWT in Practice Manning p 376 ISBN 978-1-933988-29-0 

External links

  • GWT homepage on Google code
  • Official GWT blog
  • Official GWT forums
  • Google Web Toolkit Incubator
  • Conference on GWT organized by Addison-Wesley, Prentice Hall and Pearson Education

google web toolkit, google web toolkit (gwt), google web toolkit applications, google web toolkit download, google web toolkit example, google web toolkit for eclipse, google web toolkit review, google web toolkit tutorial, google web toolkit widget showcase, google web toolkit widgets

Google Web Toolkit Information about

Google Web Toolkit

  • user icon

    Google Web Toolkit beatiful post thanks!


Google Web Toolkit
Google Web Toolkit
Google Web Toolkit viewing the topic.
Google Web Toolkit what, Google Web Toolkit who, Google Web Toolkit explanation

There are excerpts from wikipedia on this article and video

Random Posts

Amorphous metal

Amorphous metal

An amorphous metal also known as metallic glass or glassy metal is a solid metallic material, usuall...
Arthur Lake (bishop)

Arthur Lake (bishop)

Arthur Lake September 1569 – 4 May 1626 was Bishop of Bath and Wells and a translator of the King Ja...
John Hawkins (author)

John Hawkins (author)

Sir John Hawkins 29 March 1719 – 21 May 1789 was an English author and friend of Dr Samuel Johnson a...
McDonnell Douglas MD-12

McDonnell Douglas MD-12

The McDonnell Douglas MD-12 was an aircraft design study undertaken by the McDonnell Douglas company...