GWTcon 2017 in Florenz - GWT 3 Reloaded

Auf der GWTcon 2017 in Florenz stellte die GWT-Arbeitsgruppe viel Wissenswertes vor. Ein Kernthema war die Zukunft von GWT und der Java-to-Closure Transpiler.

Veranstaltungsberichte  –  0 Kommentare
GWTcon 2017 in Florenz - GWT 3 Reloaded

Das Google Web Toolkit – GWT – ist ein Transpiler, der es ermöglicht, Webanwendungen mit Java-Code zu realisieren, indem er aus Java JavaScript-Code erzeugt. Das hat den entscheidenden Vorteil, beliebte Java-Werkzeuge für die Webentwicklung nutzen zu können. Direkt bei der Eröffnungs-Keynote diskutierte und beantwortete man die wichtigsten Fragen über die Zukunft von GWT 3 und J2CL (Java-to-Closure Transpiler). Außerdem stellten die Sprecher die ersten Ergebnisse des J2CL Transpiler vor. J2CL übersetzt jede einzelne Java-Klasse in eine JavaScript-Klasse. Der Closure-Compiler wird anschließend verwendet, um sämtliche JavaScript-Dateien zu optimieren und in einer einzigen Datei zusammenzufassen. Danach muss die Datei nur noch mit einem Linker zusammengesetzt werden, sodass die Webanwendung als JavaScript im Browser gestartet werden kann.

Eine Livedemo von J2CL auf Basis einer GWT-Anwendung aus der Version 2.8 hat ein identisches Ergebnis gezeigt, was Begeisterung im Konferenzsaal auslöste. In einigen Vorträgen haben Entwickler die entscheidenden Punkte zu einer einfachen Migration zu GWT 3 angesprochen. Die Schwierigkeiten von Anfängern beim Einsatz von GWT sind aber ebenfalls viel diskutiert worden. Für die Migration sollten Entwickler demnach die Nutzung von GWT-Widget, GWT-Generatoren und JSNI (JavaScript Native Interface) meiden. Stattdessen sollen sie Standard-Java-APT-Generatoren und die Nutzung von DOM sowie JsInterop (JavaScript Interoperability) einsetzen. Ebenfalls wird das alte DevMode endgültig aus GWT verschwinden. Die Interoperabilität von JavaScript mit JsInterop ließ sich in einem Best-Practices-Vortrag über Red Hats Errai Framework Schritt für Schritt verfolgen.

In der Konferenz haben die Teilnehmer nicht nur die technische Sicht von GWT betrachtet, sondern auch die Benutzersicht des Frameworks. Die Experten stellten einige Erfahrungen und Produktentwicklungen basierend auf GWT vor. Die Lösungen erstrecken sich vom Anwendungsgenerator als Ersatz für Oracle Forms (Jclays) bis zum ausgefallenen webbasierten Animations- sowie Videoeditor (Animatron).

Browserunabhängige Produktentwicklungen setzen oft auf die Nutzung des HTML-Canvas-Objekts. Dabei spielt die Stärke von GWT durch die Programmiersprache Java eine große Rolle. Komplexere Anwendungen lassen sich mit Java besser strukturieren, umsetzen und testen. Interessant im Kontext von Progressive Web Apps (PWA) ist die Implementierung einer GWT-Offline-Webanwendung mit PouchDB (clientseitige JavaScript-Komponente) und CouchDB (serverseitige Komponente).

Best Practices und generelle Erfahrung mit GWT, auch für Microservices-Architekturen, sowie die Migration von Red Hats WildFly Management Console zu GWT 3 gehörten ebenfalls zum Inhalt der Konferenz. Letztere reduziert die Line of Codes des Management Console von circa 200.000 auf 112.000.

Kritische Stimmen über die Zukunft von GWT gab es in einer Session über den GWT-Status-quo aus der Entwicklerperspektive. JavaScript beziehungsweise TypeScript beherrschen die Browserwelt, Java spielt dort bis heute keine Rolle. Die einzige Chance für GWT 3 und J2CL ist nur noch, als eine weitere Sprache ähnlich wie TypeScript im JavaScript-Ökosystem zu fungieren. Es mangelt an interessanten Jobs für GWT-Projekte. Außerdem wird GWT bei keiner Konferenz wie JavaLand, JAX oder JavaOne oder wenn nur selten vorgestellt. Es bedarf folglich einer größeren Community und mehr Community-Arbeit. Einig sind die Konferenzteilnehmer, dass GWT immer noch die erste Wahl für die Entwicklung umfangreicher clientbasierten Benutzeroberflächen ist: eben dank der Programmiersprache Java und der Java-Werkzeuge.

Die diesjährige GWT-Konferenz fand zum ersten Mal ohne Google-Entwickler statt. Trotz der immer noch von vielen Google-Entwicklern implementierten Features in J2CL ist die Unabhängigkeit vom Internetriesen bei vielen Gesprächen zu hören. Google nutzt GWT und J2CL immer noch in vielen Produkten wie Inbox, Discussion, Flight, Docs, Tables und vielen mehr. Nichtsdestoweniger sind andere Unternehmen wie Red Hat, Vertispan und Jooink ebenfalls interessiert, GWT nach vorne zu bringen.

Als Abschluss zeigten Entwickler den Weg zum Mitmachen bei GWT-Projekten, sodass jeder Open-Source-Entwickler mit Patches und Erweiterungen für das Projekt beitragen kann. Für das nächste Jahr ist geplant, die GWTcon mit zwei Standorten in Nordamerika und Florenz für Europa anzubieten. (bbo)

Dr. Lofi Dewanto
arbeitet als Teamleiter der Softwareentwicklung beim Umweltdienstleister Interseroh Dienstleistungs GmbH in Köln. Er engagiert sich insbesondere für "javanische" Open-Source-Software sowie MDA.