Meiner Ansicht nach ist das Google Web Toolkit (GWT) einer der am meisten unterschätzten Frameworks bei der Entwicklung von Webanwendungen. Man entwickelt eine Anwendung in Java und diese wird hinterher in JavaScript übersetzt und läuft weitestgehend im Browser des Bentzers. Der Server wird lediglich zum Datenaustausch (per JSON) genutzt. Warum sollte ich mich für GWT als Entwicklungsplattform entscheiden?

Warum GWT?

  • Entwicklung in Java (typensicher!), Deployment in JavaScript
  • „Rapid tournaround“ während der Entwicklung weil spezieller Google Browser bzw. eine Firefox Plugin den Java-Code im „Hosted Browser“-Modus direkt ausführen können und langwieriges compiling dadurch entfällt
  • Verwendung bekannter Tools und IDEs aus der Java-Welt
    • insbes. auch Build Infrastruktur mit Hudson / Jenkins
    • mächtige IDEs für die Java Entwicklung können vollständig (inkl. Refactoring) genutzt werden
  • GWT SDK enthält alle notwendigen Komponenten
    • Eclipse Plugin, für schnelle Entwicklung und schnelles Deployment
    • GWT Designer, einacher Oberflächenerstellung
    • Speedtracer als Profiling Tool
  • Weitere Vorteile:
    • gesponsort von Google, daher baldige Einstellung unwahrscheinlich
    • Apache 2 Lizenz, d.h. sogar bei Einstellung durch Google „frei“ genug für weiterentwicklung durch Community
    • Reif genug für große Produkte und den Produktiveinsatz (Google benutzt es u. a. für Google Analytics selbst)

Vorteile vom „Java zu JavaScript“ Ansatz

  • Refactoring (IDE Unterstützung)
  • UnitTesting möglich
  • Code Completion in der IDE
  • Debugging (!!) in Java statt in JavaScript, extrem großer Vorteil
  • Caching im Browser (RIA Ansatz) entlastet Server sehr stark (weniger Requests, Server überträgt nur die wenigen Daten)

Idealer Einsatzzweck

  • NICHT: Für Webseiten zum „anschauen“ sollten besser ein anderes Framework (Wicket, etc.) verwendet werden
  • GWT eignetet sich insbesondere für Webanwendungen, also Software die über einen längeren Zeitraum gewartet werden muss und die viele Funktionen bietet

 

Besonderer Dank geht an Papick G. Taboada seinen Vortrag aufder W-JAX 2011 in München.