Google Web Toolkit

from Wikipedia, the free encyclopedia
Google Web Toolkit

Gwt logo.png
Basic data

developer Google LLC
Current  version 2.9.0
( May 2, 2020 )
operating system Windows , Linux , macOS , Solaris , FreeBSD
programming language Java , JavaScript
category Programming environment / compiler
License Apache license, version 2.0
German speaking No
www.gwtproject.org

The Google Web Toolkit ( GWT [ ɡʉˑiˑt ]) is a free web framework . GWT can be used to develop web applications in the Java programming language .

Details

GWT was released by Google on May 17, 2006 under the terms of version 2.0 of the Apache license . Its specialty is a Java - after - JavaScript - compiler , so that almost the entire development of client and server can be realized with Java. Furthermore, the GWT is equipped with an XML parser , internationalization support, an interface for remote procedure calls , integration of JUnit and a widget package for designing graphical interfaces ( GUI ). These can be created in a similar way to Swing .

What sets the GWT apart from other frameworks of this type is the fact that client-side code can also be developed in Java. This can be an advantage, as well-known tools from Java development (e.g. development environments ) can still be used. It also includes an application server ( Tomcat or Jetty ) that can be used in hosted mode during the development phase to run the application.

Asynchronous communication

Communication between client and server is possible via remote procedure calls . The GWT offers two options for this: On the one hand, JSON can be used. The classes from the package com.google.gwt.user.client.rpcare also available for extensive inquiries . Communication is carried out using the proprietary GWT-RPC protocol, which makes the serialization and deserialization of Java objects transparent. In this way, data supplied by the server does not have to be converted manually into objects. Furthermore, the interface AsyncCallback (from the package mentioned above) provides two methods that can be used to respond to the success or failure of a request. The second approach requires the use of a servlet server.

Use of JavaScript

Using the JavaScript Native Interface ( JSNI [ ɟisniː ]), JavaScript can be integrated directly into the Java code, so that specific extensions are possible that cannot be implemented using the scope of the Java libraries from the GWT.

Versions

GWT 2.0

The final version 2.0 of the GWT has been available since December 8, 2009. Among other things, the following innovations are included there:

In-browser development mode
In versions prior to 2.0, the applications were run in the hosted mode browser during the development process . It was a modified browser ( Internet Explorer on Windows, Safari on OSX). The downside was that debugging tools like Firebug couldn't be used. In version 2.0, this approach was abandoned in favor of development mode . These are browser plugins that communicate with the developer shell via TCP / IP. Troubleshooting is therefore possible in every browser for which a corresponding plugin exists.
Code splitting
By defining split points , the developer can tell the compiler where the code can be broken down into smaller sections. This leads to faster loading times, since the entire code no longer has to be loaded from the web server to start the application, but only the parts required for the start. The rest of the application is reloaded while the user is already working with the application.
Bundling of resources with the ClientBundle
The ClientBundle interface now allows the use of resources of any kind (not just image files as in publications prior to 2.0). The resources contained in the bundle are combined by GWT and transferred from the server to the client in a single download.
Declarative layout with the UiBinder
With this new feature, the elements of the user interface are no longer created in Java code as before, but are defined in an XML file. In this way, a separation between user interface design and implementation of the application logic is achieved.

GWT 2.5

The final version 2.5 has been available since October 25, 2012. The following new features are included there:

Super dev fashion
An experimental replacement for Development Mode.
Elemental
An experimental library for fast, lightweight, browser-based web programming.
Compiler optimizations
GWT can optionally use the closure compiler to achieve further optimizations in JavaScript. The closure compiler offers a number of optimizations that improve code size and execution speed, but this makes the GWT compiler slower.
Support of the ARIA standard
Improvements in the UIBinder
Enhancements to support for Bean Validation
Extension and integration of support for the JSR-303 Bean Validation specification.

GWT 2.7

The final version 2.7 has been available since November 20, 2014. The following changes or innovations are included there:

Super dev fashion
activated as default by default; including performance improvement.
GSS
Experimental support for "Closure Stylesheets" (also called Google Stylesheets or GSS ).
GWT designer
is no longer supported.
Left
IFrameLinker and XSLinker are marked deprecated.

GWT 2.8

The final version 2.8 has been available since October 20, 2016. The following changes or innovations are included there:

Source
At least Java 8 is now required.
API support
Support of many Java 8 APIs from standard libraries.
JavaScript
Integration of the JSInterop specification.
Classic Dev Mode
The "Classic Dev Mode" is marked as obsolete.
JSR 303 Bean Validation
The "JSR 303 Bean Validation" support is marked as obsolete and will be continued as an external project on Github.
GSS
Full support of the "Closure Stylesheets" (GSS).
CssResource
The "CssResource" syntax is marked as obsolete; a migration of the "CssResource" syntax to GSS is recommended.

See also

literature

  • Adam Tacy, Robert Hanson, Jason Essington: GWT in Action . 2nd Edition. Manning, 2013, ISBN 978-1-935182-84-9 .
  • Adam Tacy, Robert Hanson: GWT in action. Developing Ajax applications with the Google Web Toolkit . 1st edition. Carl Hanser, 2007, ISBN 978-3-446-41241-5 (English: GWT in Action . Translated by Christian Alkemper).
  • Michael Seemann: The Google Web Toolkit: GWT . O'Reilly Verlag, 2007, ISBN 978-3-89721-719-5
  • Hans Sowa, Wolfgang Radinger, Martin Marinschek: Google Web Toolkit . dpunkt.verlag, 2008, ISBN 978-3-89864-471-6
  • Federico Kereki: Essential GWT . Addison-Wesley, 2010, ISBN 978-0-321-70514-3
  • Ralph Steyer: Google Web Toolkit . developer.press, 2007, ISBN 978-3-939084-21-1

Web links

Individual evidence

  1. Release 2.9.0 . May 2, 2020 (accessed May 3, 2020).
  2. www.gwtproject.org .
  3. Google publishes Closure Stylesheets , golem.de, November 18, 2011
  4. bean validators