Google Web Toolkit

Google Web Toolkit
Original author(s) Google
Initial release May 16, 2006 (2006-05-16)
Stable release
2.8.1 / April 24, 2017 (2017-04-24)
Repository github.com/gwtproject/gwt
Written in Java
Operating system Linux, Windows, OS X, FreeBSD
Available in Java
Type Ajax framework
License Apache License 2.0
Website www.gwtproject.org

Google Web Toolkit (GWT /ˈɡwɪt/), or GWT Web Toolkit,[1] 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 2.0.[2]

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

History

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

Release history
Release Date
GWT 1.0 May 17, 2006
GWT 1.1 August 11, 2006
GWT 1.2 November 16, 2006
GWT 1.3 February 5, 2007
GWT 1.4 August 28, 2007
GWT 1.5 August 27, 2008
GWT 1.6 April 7, 2009
GWT 1.7 July 13, 2009
GWT 2.0 December 8, 2009
GWT 2.1.0 October 19, 2010
GWT 2.2.0 February 11, 2011
GWT 2.3.0 May 3, 2011
GWT 2.4.0 September 8, 2011
GWT 2.5.0 October 2012
GWT 2.5.1 March 2013
GWT 2.6.0 January 30, 2014
GWT 2.6.1 May 10, 2014
GWT 2.7.0 November 20, 2014
GWT 2.8.0 October 20, 2016
GWT 2.8.1 April 24, 2017

In August 2010, Google acquired Instantiations,[5] 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.[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 complete.[8]

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.[9]

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[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 prescribe how to map history tokens to an application state.

GWT applications can be run in two modes:

Several open-source plugins are available for making GWT development easier with other IDEs, including GWT4NB[15] for NetBeans, Cypal Studio for GWT[16] (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.

Components

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 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 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 creating widgets.

Features

Available Widgets

As of version 2.4 (September 2011), GWT offers several widgets[21] and panels.[21]

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
CellTree
SuggestBox
RichTextArea
FlexTable
Grid
CellTable
CellBrowser
TabBar
DialogBox

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,[22] 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:[23]

Other companies using GWT are listed on the real world projects examples.

GWT 2.0

On Dec 08, 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:

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

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

See also

Other frameworks

References

  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. 1 2 3 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". Googlewebtoolkit.blogspot.com. 2011-11-10. Retrieved 2013-06-16.
  7. Vaadin to Support Google Web Toolkit (GWT) Development. vaadin.com (2012-06-29). Retrieved on 2014-05-15.
  8. Google Web Toolkit Blog: GWT News. Googlewebtoolkit.blogspot.com (2013-07-15). Retrieved on 2014-05-15.
  9. "Coding Basics - JavaScript Native Interface (JSNI) - Google Web Toolkit — Google Developers". Developers.google.com. 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+". 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". The main executable entry point for the GWT Java to JavaScript compiler.
  18. "com.google.gwt.dev.jjs.JavaToJavaScriptCompiler". A base for classes that compile Java JProgram representations into corresponding Js source.
  19. 1 2 3 4 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. 1 2 "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 2.0, now with Speed Tracer
  26. "GWT 2.0 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.

Bibliography

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.