Aus Java mach' JavaScript

GWT 2.8: Java 8 Support und bessere Zusammenarbeit mit JS-Technologien

Dominik Mohilo

© Shutterstock.com / Maxx-Studio

Das Google Web Toolkit (GWT) ist eine Sammlung von Werkzeugen zur Entwicklung von Webanwendungen. Die freie Software steht unter der Apache Lizenz 2.0 und hat vor über zehn Jahren das Licht der Welt erblickt. Nun ist mit Version 2.8 das dringend benötigte Update von 2.7 erschienen.

Fast zwei Jahre Entwicklungszeit stecken in GWT 2.8, die Vorgängerversion erschien bereits im Jahr 2014. Wichtigstes neues Feature ist die Unterstützung von Java 8 und dessen Standard-Library-APIs. Besonders Nutzer der in Java 8 enthaltenen Funktionen, wie etwa Lambda Expressions, werden sich freuen: Sie sind nun auch in Verbindung mit dem GWT nutzbar.

Verbesserte Interoperabilität

Mit einem Annotation Processor können zudem statische Methoden und Standardmethoden von Java 8 verwendet werden. Vorsicht ist dabei aber geraten: Die Verwendung des Annotation Processors könnte einen existierenden Build zerstören, sofern ein Interface so geändert wird, dass es eine Nicht-Standardmethode in eine Standardmethode umwandelt.

Die JavaScript-Landschaft hat sich in den vergangenen zwei Jahren insgesamt weiterentwickelt: Entwickler nutzen längst viele verschiedene Technologien, etwa Closures. Die bessere Interoperabilität zwischen dem Google Web Toolkit und JavaScript-Technologien ist das Ziel des Features JsInterop. Seit der Beta-Version des GWT ist es final integriert und hat die experimentelle Phase überstanden. Eine Kernfunktion von JsInterop ist etwa @JsType, mit dem sich das JavaScript API eines Java-Objektes auf Klassenebene definieren lässt. Genauere Informationen zu JsInterop finden sich im offiziellen Spezifikationsdokument.

GSS – die Google Stylesheets

Im Bereich des Compilers wurden seit der Beta-Version etliche Bugs gefixt, aber es gibt auch hier neue Funktionen und Erweiterungen. Eine davon ist das ebenfalls in der Beta von GWT 2.8 eingeführte Optimizer Framework. Dieses führt den gewünschten Optimierungsprozess nur auf dem Teil des Abstract Syntax Trees (AST) aus, der von den Änderungen des vorherigen Durchlaufs betroffen war.

Genau wie JsInterop hat auch GSS die experimentelle Phase mit der Beta-Version von GWT 2.8 hinter sich. Die Google Stylesheets (oder auch Closure Stylesheets) ersetzen nun vollständig die vorher genutzte CssResource-Syntax. Im InterfaceGenerator wurde die Unterstützung für CSS3 und GSS hinzugefügt.

Eine vollständige Liste mit Änderungen, die seit der Beta-Version in GWT 2.8 durchgeführt wurden, gibt es auf der Webseite des GWT-Projektes.

Hintergrund

Das Web Toolkit von Google stellt Entwicklern von Webanwendungen zahlreiche Werkzeuge für die Entwicklung von Webanwendungen zur Verfügung. Das Besondere ist dabei die Möglichkeit, den gesamten Code in Java zu schreiben, während für die Umwandlung in JavaScript ein Compiler sorgt. So können auch Entwicklungsumgebungen und andere Java-spezifische Tools weiterhin genutzt werden.

Durch das JavaScript Native Interface (JSNI) kann JavaScript direkt in den Java-Quellcode eingebunden werden. Dies ist nötig, wenn sich die Java-Bibliotheken aus dem GWT als nicht umfangreich genug erweisen, um gewisse Erweiterungen umzusetzen. Weitere Werkzeuge, die das Google Web Toolkit an Bord hat, sind ein XML-Parser, eine Schnittstelle für Remote Procedure Calls, Unterstützung für die Internationalisierung (i18n), eine JUnit-Integration und ein Paket mit Tools zur Erstellung von GUIs.

Lesen Sie auch: JDebuggen im Browser mit GWT 2.7

International JavaScript Conference
Hans-Christian Otto

Testing React Applications

by Hans-Christian Otto (Suora GmbH)

Sebastian Witalec

Building a Robo-Army with Angular

by Sebastian Witalec (Progress)

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: