Googles Web-Toolkit GWT: die Zukunft und deren Neuerungen


frank heller Senior Consultant der IPT Software GmbH in Wolfsburg

Autor

Dr. Frank Heller

IPT Software GmbH

Standort Paderborn


Status

Senior Consultant


Veröffentlichung

September 2015


Das hinter dem Webframework Vaadin stehende Unternehmen hat einen Bericht zur Zukunft von Googles Web-Toolkit vorgelegt. GWT ist ein in Java geschriebenes Webframework mit einem Java-nach-JavaScript-Compiler.

Die Motivation für einen solchen Report kommt nicht von ungefähr, da Vaadin GWT nutzt. Google selbst hatte die Bemühungen an der Weiterentwicklung von GWT infolge der Fokussierung auf die JavaScript-Alternative Dart augenscheinlich etwas heruntergefahren beziehungsweise früher im Jahr versprochen, die Fortentwicklung offener zu gestalten. In der Folge wurde ein Komitee gegründet, in dem neben Google-Repräsentanten auch Entwickler von Red Hat und eben Vaadin sitzen, die sich um die weitere Ausrichtung von GWT kümmern sollen.

Dem Bericht geht eine Befragung von über 1300 Teilnehmern voraus, die sich den Fragen stellten. Dadurch darf das Ergebnis weitgehend als repräsentativ für die Schar der GWT-Anwender angesehen werden. Herausgekommen ist zum Beispiel, dass knapp 80 Prozent der Befragten GWT im Unternehmensumfeld verwenden. Besonders populär scheint das Toolkit in Europa zu sein, wo 54 Prozent der Anwender herkommen. Aus den Vereinigten Staaten stammen knapp 30 Prozent.

Nahezu alle mit GWT entwickelten Anwendungen sind auf Desktops lauffähig, doch GWT wird anscheinend im mobilen Umfeld zunehmend wichtiger, denn 36,1 Prozent der Anwendungen funktionieren auch auf Tablets und 25,7 Prozent auf Mobiltelefonen. Bei der Entwicklung mobiler Apps tun sich PhoneGap und/oder GWT-phonegap (55 %) beziehungsweise mGWT (42 %) hervor.

Mehr als 60 Prozent fühlen sich mit GWT sehr produktiv. Zufrieden scheinen knapp ein Drittel der Befragten zu sein. Ausbaufähig sind vor allem die Kompilierzeit, die Zahl ausreichend guter Widgets und die Refresh-Zeit im Dev-Modus, die 49, 34 und 27 Prozent der Teilnehmer kritisierten. Äußerst zufrieden ist die Community mit der Browserkompatibilität, die von 60 Prozent als Stärke hervorgehoben wurde. Andere Punkte, die von 15 bis 25 Prozent der Befragten genannt wurden, sind Anwendungsgeschwindigkeit, Modularität, die Tools der GWT-Community und die schnelle Fehlerbeseitigung.

Mut machen sollte, dass 89 Prozent der Anwender auch ein neues Projekt mit GWT angehen würden. Als Konkurrenten werden die Kombination aus JavaScript und REST (38 %) sowie Spring MVC (28 %), Dart (19 %), JavaServer Faces (JSF) und das Play-Framework (beide 16 %) wahrgenommen. Zurückhaltend äußert sich die Community zur Zukunft von GWT unter dem Dach eines unabhängigen Komitees. Die Hälfte ist hier der Meinung, dass es noch zu früh sei, ein klares Urteil darüber zu bilden. Etwas mehr als ein Drittel ist hingegen schon mal dazu optimistisch eingestellt

Ende Januar lud Vaadin zum nunmehr zweiten Mal die Entwicklergemeinschaft ein, sich auf der GWT.create-Konferenz über die Neuerungen in GWT (Google Web Toolkit) sowie über neue Entwicklungen in damit ausgestatteten Frameworks zu informieren. Die Konferenz war auf zwei Tage angelegt und fand zuerst in San Francisco und danach in München statt. Die hier vorgestellten Neuerungen werden von Entwicklern auch gerne als Indikator genutzt, ob man auch in Zukunft auf GWT setzen kann.

Der Rückblick auf bisherige Versionen zeigte Verbesserungsmöglichkeiten auf, die in der Zukunft von GWT realisiert werden sollen. Konkret: nach der Version 2.6 mit kleinen Verbesserungen kamen die großen Neuerungen mit Version 3.0 (seit Mitte 2015 als beta verfügbar) - hier die technischen Details:

Es wurden Anpassungen an neue APIs in Java8 vorgenommen. Außerdem wurde das vorhandene Framework schlanker und schneller. Auch das Debugging wurde vereinfacht und beschleunigt.

Der bisherige UiBinder wird abgelöst und durch Web-Components ersetzt. Dadurch können Oberflächen leichter und schneller erzeugt werden. Es gibt mehr Möglichkeiten, eigene Widgets zu gestalten.

Richtig interessant ist das neue Projekt „Singular“. Mit Singular soll es Java-Entwicklern ermöglicht werden, eine Web-Anwendung bzw. deren Komponenten genauso elegant zu entwickeln, wie es aktuell mit Angular-JS in JavaScript möglich ist. Und das mit einer verbesserten Performance und Skalierbarkeit. Die UI wird zu einer leichter austauschbaren Komponente, die individuell an das gewünschte Endgerät angepasst werden kann. Noch steht „Singular“ am Anfang seiner Entwicklung, aber man darf gespannt sein, wie es sich weiter entwickeln wird. Insbesondere, da Java-Entwickler mit „Singular“ auch auf „Web Components“ zurückgreifen können.

JS-Interop hilft bei der Integration von Java und JavaScript und erleichtert das Einbinden und Debugging von kombiniertem Code.

GSS ist eine Weiterentwicklung der CSS Stylesheets für GWT. Mithilfe dieser neuen Stylesheets können die Styles, die den Widgets zugeordnet wurden, übersichtlicher gestaltet werden. Sie ermöglichen vielfältigere Formatierungsmöglichkeiten, wodurch viele Einstellungen und Formatierungen, die bisher direkt im Code vorgenommen werden mussten, ausgelagert werden können. Durch diese Auslagerung wird der Code nicht nur übersichtlicher, sondern die eigene Applikation auch performanter.

Es gibt noch einige weitere Neuerungen, die das Leben der EntwicklerInnen leichter machen sollen, wie GQuery - eine Abwandlung vom bekannten JQuery - , für einfache, schnelle und elegante UI-Lösungen. Eine weitere Änderung ist die Einführung des SuperDev-Mode, der vor allem das Debugging beschleunigen soll.

Alles in allem lässt sich also die Befürchtung eines Stillstandes der GWT-Weiterentwicklung nicht bestätigen. In den nächsten Versionen kommen einige wichtige und lang erwartete Verbesserungen sowie einige spannende Neuerungen.

Auf der anderen Seite wurde auf der Google IO 2015 kein einziges Wort über GWT fallen gelassen. Man kann dies negativ interpretieren, man kann aber auch sagen, GWT hat mitlerweile seine eigene Konferenz - die GWT.create - welche zum Einen sogar früher ist und auf welcher zum Anderen zahlreiche Mitarbeiter von Google referiert haben. Besonders interessant sind die Ausführungen zu Google Inbox, welche sich als neuer Mail Client von Google herausstellte, mit dem Ziel GMail eines Tages abzulösen und welcher zu 60 bis 70% in GWT realisiert wurde. Das neue Google Sheets wurde von Google ebenfalls in GWT geschrieben.

Auf der Negativseite steht meines Erachtens, dass Google zwar viele GWT Feature, in welchem Entwicklungsstadium sich diese auch immer befinden, einsetzt, die Dokumentation aber weit hinterher hingt. Beispielsweise werden Sie in der Entwicklerdokumentation nichts über "js interop" finden besten falls ein paar Release Notes oder ein paar Beispiele. Google scheint auch in Zukunft offensichtlich an GWT interessiert zu sein, allein das Drumrum scheint noch nicht zu passen. Meine Befürchtung ist, dass dies auch zukünftig so bleiben wird und Entwickler das Nachsehen haben. Ob GWT, wie gut es technisch auch immer sein mag, eine hohe Attraktivität auf Entwickler, Firmen und freiwillige Communities ausübt, ist dann fraglich.

* Quelle heise Online, Alexander Neumann, 05.12.2012
* GWT.create Konferenz 2015
* solvista GmbH 2015
* it-economics, Steffen Kleeberg 2015