- Google Web Toolkit
-
Google Web Toolkit Entwickler Google Inc. Aktuelle Version 2.4
(8. September 2011)Betriebssystem Windows, Linux, Mac OS X, Solaris Kategorie Programmierumgebung / Compiler Lizenz ASL (Freie Software) Deutschsprachig nein webtoolkit.googlecode.com Das Google Web Toolkit (GWT ɡʉˑiˑt) ist ein Toolkit zur Entwicklung von Webanwendungen. Es wurde am 17. Mai 2006 von Google als freie Software unter den Bedingungen von Version 2.0 der Apache-Lizenz veröffentlicht. Seine Besonderheit ist ein Java-nach-JavaScript-Compiler, so dass nahezu die gesamte Entwicklung von Client und Server auf Basis von Java realisiert werden kann. Weiterhin ist das GWT mit einem XML-Parser, Internationalisierungs-Unterstützung, einer Schnittstelle für Remote Procedure Calls, Integration von JUnit und einem kleinen Widget-Paket zur Gestaltung der graphischen Oberfläche (GUI) ausgestattet. Diese kann dabei ähnlich wie mit Swing erstellt werden.
Was das GWT im Wesentlichen von den meisten anderen Frameworks dieser Art unterscheidet, ist die Tatsache, dass auch der client-seitige Code komplett in Java erstellt werden kann. Dies bringt erhebliche Vorteile in der Entwicklung mit sich, weil bewährte Entwicklungsumgebungen benutzt werden können. Des Weiteren ist ein interner Anwendungsserver (Tomcat bzw. Jetty) enthalten, der beim Entwickeln im Hosted-Modus zum Einsatz kommt.
Inhaltsverzeichnis
Asynchrone Kommunikation
Die Kommunikation mit einem entfernten Server ist über Remote Procedure Calls möglich. Das GWT bietet zwei Möglichkeiten an: Einerseits kann JSON verwendet werden. Für umfangreiche Anfragen ist es andererseits sinnvoller, die vom GWT zur Verfügung gestellten Klassen aus dem Paket com.google.gwt.user.client.rpc zu benutzen. Die Kommunikation wird hierbei zwar mit dem proprietären Protokoll GWT-RPC durchgeführt, doch gleichzeitig macht es die Serialisierung und Deserialisierung von Java-Objekten transparent. Auf diese Weise müssen Daten, die vom Server geliefert werden, nicht erst umständlich in Objekte verwandelt werden. Weiterhin stellt das Interface AsyncCallback zwei Methoden bereit, mit denen man gezielt auf den Erfolgs- und Fehlerfall einer Anfrage reagieren kann. Für den zweiten Ansatz ist die Verwendung eines Servlet-Servers auf der entfernten Seite notwendig.
Verwendung von JavaScript
Über das JavaScript Native Interface (JSNI ɟisniː) lässt sich JavaScript direkt in den Java-Code einbinden, so dass auch spezifische Erweiterungen möglich sind, die sich nicht durch den Umfang der Java-Bibliotheken aus dem GWT realisieren lassen.
GWT 2.0
Die finale Version 2.0 des GWT ist seit dem 8. Dezember 2009 verfügbar. Dort sind unter anderem die folgenden Neuerungen enthalten:
- In-Browser Development Mode
- In den Versionen vor 2.0 wurden die Anwendungen während des Entwicklungsprozesses im hosted mode browser ausgeführt. Dabei handelte es sich um einen modifizierten Browser (IE unter Windows, Safari unter OSX). Der Nachteil dabei war, dass Debugging-Tools wie Firebug nicht verwendet werden konnten. In der Version 2.0 wurde dieser Ansatz zugunsten des Development Mode aufgegeben. Dabei handelt es sich um Browser-Plugins, die über TCP/IP mit der Entwickler-Shell kommunizieren. Fehlerbehebung ist somit in jedem Browser möglich, für den ein entsprechendes Plugin existiert.
- Code Splitting
- Durch die Definition von split points kann der Entwickler dem Compiler mitteilen, wo der Code in kleinere Abschnitte aufgeteilt werden kann. Dies führt zu schnelleren Ladezeiten, da für den Start der Anwendung nicht mehr der komplette Code vom Webserver geladen werden muss, sondern nur die für den Start benötigten Teile. Der Rest der Anwendung wird dann nachgeladen, während der Benutzer bereits mit der Anwendung arbeitet.
- Bundling von Ressourcen mit dem ClientBundle
- Die Schnittstelle ClientBundle erlaubt nun die Verwendung von Ressourcen jeglicher Art (nicht nur Bilddateien wie in den Veröffentlichungen vor 2.0). Die im Bündel enthaltenen Ressourcen werden von GWT zusammengefasst und in einem einzigen Download vom Server an den Client übertragen.
- Deklaratives Layout mit dem UiBinder
- Mit diesem neuen Merkmal werden die Elemente der Benutzeroberfläche nicht mehr wie bisher im Java-Code erstellt, sondern in einer XML-Datei definiert. Damit wird eine saubere Trennung zwischen Oberflächengestaltung und Implementation der Anwendungslogik realisiert.
Literatur
- Robert Hanson, Adam Tacy: GWT in action, Manning, 2007.
- Robert Hanson, Adam Tacy: GWT im Einsatz, Hanser Verlag, 2007, ISBN 978-3-446-41241-5
- Michael Seemann: Das Google Web Toolkit: GWT, O'Reilly Verlag, 2007, ISBN 978-3897217195
- 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, entwickler.press, 2007, ISBN 978-3-939084-21-1
Siehe auch
- Rich Ajax Platform – Ähnlicher Ansatz zur Erstellung von Webapplikationen rein auf Java-Basis
Weblinks
- Offizielle Webpräsenz
- Einführung für GWT mit PHP-Backend
- Projektübersicht zu GWTPHP bei Google Code – PHP für GWT
- onGWT – Nachrichten und Werkzeuge rund um GWT
- GWT Quickstart – Sammlung von Einführungen zu GWT (englisch)
- Einführungen zu GWT auf linux-magazin.de
- Blog zum Google Web Toolkit
Kategorien:- Freies Webframework
- Java-Bibliothek
Wikimedia Foundation.