Google Web Toolkit
Google Web Toolkit
|
|
---|---|
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.rpc
are 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
- Remote Application Platform - similar approach to creating web applications purely on a Java basis
- Vaadin - a web framework based on GWT on the client side.
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
- Official website
- Introduction for GWT with PHP backend
- Project overview for GWTPHP at Google Code - PHP for GWT
- GWT Quickstart - Collection of introductions to GWT (English)
- Introductions to GWT on linux-magazin.de
- Google Web Toolkit blog
- GWT meets Ajax and PHP. Java magazine
- John Resig: Disadvantages of Speech Abstraction.
Individual evidence
- ↑ Release 2.9.0 . May 2, 2020 (accessed May 3, 2020).
- ↑ www.gwtproject.org .
- ↑ Google publishes Closure Stylesheets , golem.de, November 18, 2011
- ↑ bean validators