Dynamische Internet-Anwendungen: GWT aus Entwicklerperspektive

//SEIBERT/MEDIA entwickelt interaktive Anwendungen mit dem Google Web Toolkit (GWT), dem stabilen, ausgereiften Open-Source-Framework, das seine Eignung für den Projekteinsatz in Form eindrucksvoller Referenzen wie beispielsweise contactoffice.com, yournextread.com und natürlich Google längst unter Beweis gestellt hat. Nachdem wir im ersten Artikel zum Thema auf den Einsatz von GWT im Projekt eingegangen sind, sehen wir uns das Framework nun aus Entwicklerperspektive an.

GWT: Geschwindigkeit und erweiterte AJAX-Funktionalität für gute Nutzererlebnisse

GWT ist kein Backend-, sondern ein Client-Framework. Grundsätzlich bietet GWT eine komfortable Möglichkeit, komplette oder Teile von Websites zu erzeugen und dynamische Oberflächen zu entwickeln, ohne besondere Anforderungen an das Backend zu stellen.

Ein überzeugendes Argument für den Einsatz von GWT ist die Browser-Kompatibilität: GWT unterstützt alle gängigen Browser, wodurch nicht zuletzt weniger Debugging-Aufwand betrieben werden muss. Zudem wird bei GWT-Anwendungen die Oberfläche im Browser erzeugt, wodurch der Server  entlastet wird. Und nicht zuletzt erlaubt GWT AJAX-Funktionen mit Deep-Links und Browser-Back, was sonst in AJAX-Anwendungen nicht so einfach möglich ist. Aus Nutzersicht stehen GWT-Applikationen somit für gute Nutzererlebnisse durch eine hohe Geschwindigkeit, erweiterte AJAX-Funktionalität und die Lauffähigkeit ohne zusätzliche Plugins auf User-Seite.

Technische Besonderheiten von GWT

Durch die Entwicklung der Oberfläche komplett in Java und die dadurch hervorragende IDE-Unterstützung (Entwicklungsumgebung) ergeben sich entscheidende Vorteile im Vergleich zur Oberflächenentwicklung mit JavaScript und HTML:

  • Autovervollständigung
  • Syntaxprüfung
  • Suggestions bei Fehlern
  • feste Datentypen
  • Speichermanagement
  • strikte Objektorientierung
  • ausgefeiltes Exception-Handling

GWT-Anwendungen werden mittels Widgets programmiert. Hier ähnelt das Vorgehen weniger der Arbeit mit HTML, sondern eher der mit AWT (einer Programmierschnittstelle zur Erstellung und Darstellung einer plattformunabhängigen GUI) oder Swing (einer API und Grafikbibliothek zur Erzeugung von GUIs). Doch es besteht auch die Möglichkeit, HTML mithilfe von UiBind einzubinden. Der UiBinder ist ein deklaratives UI-Framework zur schnellen Realisierung von Benutzeroberflächen mithilfe einer XML-Syntax, wobei sich Präsentation und Anwendungslogik strikt voneinander trennen lassen.

Für die einfache Integration bestehender JavaScript-Bibliotheken steht das JNSI-Feature zur Verfügung, die Kompilierung von Java zu JavaScript erfolgt mit einem eingebauten Compiler.

Aus technologischer Sicht nicht uninteressant ist das flexible Backend: Das Anwendungs-Backend kann in allen Programmiersprachen erstellt werden, Java eignet sich hier aber erfahrungsgemäß am besten.

Wichtige Funktionalitäten sind darüber hinaus die gute Integrierbarkeit in Eclipse via Plugin, die Direktunterstützung für die Internationalisierung und eine Debug-Umgebung, die das schnelle Finden und Beheben von Fehlern unterstützt. Im Entwicklungsmodus, der mithilfe eines Plugins das Debugging in verschiedenen Browsern ermöglicht, kommt GWT ohne Neu-Kompilieren aus. Vor allem hierdurch kommt es zu einer doch signifikanten Zeitersparnis im Projekt.

Im Grunde gleicht die Entwicklung der in „normalem“ Java: Für die Frontend-Entwicklung werden Java-Klassen aus dem java.util-Package oder mittels Erweiterung auch eigene Klassen verwendet.

Die vielen ausgereiften, teils kostenlosen, teils kommerziellen Erweiterungen machen GWT zu einem mächtigen Werkzeug, das längst reif für den Einsatz im Unternehmensumfeld ist. Im Smart GWT Showcase können Sie sich einen umfassenden Überblick verschaffen, was sich mit GWT dank der sehr vielen Extensions auf die Beine stellen lässt. Beeindruckend.

//SEIBERT/MEDIA entwickelt mit GWT

Derzeit realisiert //SEIBERT/MEDIA zwei große Projekte mit GWT und hat hier umfassende Erfahrungen gesammelt. Unser aktuelles Projekt TwentyFeet, das Auswertungs-Tool für professionelle Social-Media-Aktivitäten, gibt Ihnen einen kompakten Überblick über die Möglichkeiten des Frameworks.

Planen Sie ein Software-Projekt? Möchten Sie Ihre bestehende Applikation mit neuen Funktionen ausstatten oder optimieren? Die Entwickler von //SEIBERT/MEDIA/TECHNOLOGIES sind Experten in der Anwendungsentwicklung mit Java, GWT, Groovy & Grails und Perl und helfen Ihnen gerne weiter. Bitte sprechen Sie uns unverbindlich an!

Weiterführende Informationen

Der quelloffene GWT-Code
Beispiele für GWT-Projekte
Grails: Kurze Entwicklungszeiten und nahtlose Java-Integration (Vodcast)
Plattform zum sicheren Datenaustausch für BodeHewitt entwickelt
Das Google Web Toolkit


Mehr über die Creative-Commons-Lizenz erfahren