Suche
Interview mit Dr. Jürgen Beringer

GWT bei Spreadshirt: „Ich würde mir wünschen, GWT-Code auch serverseitig direkt in Java ausführen zu können“

Redaktion JAXenter

Jürgen Beringer

Für Onlineshops ist der SEO Support eines der wichtigsten Elemente. Wie sieht die passende Architektur dazu aus? Anlässlich seiner Session auf der diesjährigen W-JAX haben wir Jürgen Beringer (Spreadshirt) gefragt, warum das Google Web Toolkit, kurz GWT, das Toolkit seiner Wahl ist.

JAXenter: In deiner Session “SEO-Support in einem Single-Page-Shopsystem” auf der W-JAX nimmt GWT eine zentrale Rolle ein. Weshalb habt ihr Euch für GWT entschieden?

Jürgen Beringer: Wir benutzen in unserem Team GWT schon seit über 4 Jahren für den Spreadshirt Marktplatz und sind damit sehr zufrieden. GWT ist ein Toolkit mit umfangreicher Bibliothek und kein Framework. Man kann benutzen, was man benötigt und was einem hilft, behält aber die volle Freiheit über die Architektur der Anwendung. Man benutzt server- und clientseitig die gleiche Sprache und den gleichen Code, wodurch der Übergang von Backend und Frontend fließend ist, auch bei den Entwicklern.

JAXenter: Und wie setzt Ihr GWT in Eurem Shopsystem ein?

Jürgen Beringer: Da wir für den SEO Support auch in der Lage sein müssen, die Seite serverseitig zu rendern, war unser Ziel, möglichst keinen Code für Server und Client doppelt zu schreiben, sondern ihn auf beiden Seiten zu verwenden. Das war dank des neuen JsInterop Features von GWT 2.7 einfach zu erreichen. Eine große clientseitige Herausforderung war, wie wir serverseitig gerenderte Seiten laden. Dabei haben wir die GWT Widgets so erweitert, dass wir sie sowohl aus einer leeren Seite mit UIBinder generieren, aber auch mit der bestehenden HTML Struktur laden können, ohne diese zu ersetzen oder zu verändern.

JAXenter: SEO-Support ist einer der wichtigsten Aspekte im Online-Geschäft. Welche Rolle spielt hier die Architektur?

Jürgen Beringer: Voller SEO Support ist besonders für Single-Page-Webanwendungen eine große architektonische Herausforderung. Dem Nutzer ist es erst einmal egal, wie die Seite aufgebaut ist, sodass auch eine Single-Page-Anwendung zusätzlich alle SEO unterstützenden Eigenschaften einer klassischen Webseite erfüllen muss. Dies bedeutet, man benötigt client- und serverseitiges Rendern mit geringen Ladezeiten, eine gut lesbare SEO-URL-Struktur, geringe Entwicklungszeiten und einfache Konfigurierbarkeit und Wartbarkeit.

JAXenter: GWT 2.7 kommt mit einem SuperDev-Modus. Kannst du kurz erklären, was sich dahinter verbirgt?

Jürgen Beringer: Der SuperDev-Modus ist im Kern ein effizienter Java-to-JavaScript Compiler, der bei Änderungen nur diese nachkompiliert. Das erzeugte JavaScript bleibt nah am original Javacode und erzeugt für den Browser zugehörige SourceMap-Dateien. Dadurch kann man in GWT-Anwendungen den original JavaScript-Code über ein Lesezeichen durch den SuperDev generierten Code austauschen und diesen in den DevTools des Browsers in den original Java-Dateien debuggen. Änderungen lassen sich auch direkt auf der Liveseite und mit etwas Extracode, wie in mGWT bereitgestellt, auch auf jedem Smartphone testen und debuggen.

JAXenter: Wo seid Ihr mit GWT an Grenzen gestoßen? Oder anders gefragt: Wo siehst du noch akuten Verbesserungsbedarf?

Jürgen Beringer: Ich würde mir die Möglichkeit wünschen, GWT-Code auch serverseitig zum effizienten Rendern der Seite direkt in Java ausführen zu können. Auch die Unterstützung zum Laden von Widgets aus vorhandenem HTML könnte besser sein. HTTPS ist im SEO-Bereich immer wichtiger, der SuperDev Modus ist für solche Seiten allerdings nur durch tiefere GWT-Kenntnisse zum Laufen zu bringen. Ebenso warten wir gespannt auf GSS, um mehr Flexibilität für CSS zu bekommen. Bislang entwickeln wir CSS mit SASS außerhalb von GWT. Insgesamt haben wir alle Probleme aber auch mit den aktuellen Möglichkeiten gelöst bekommen.

JAXenter: Vielen Dank für dieses Interview!

W-JAX
 
Arno Haase

Neues aus der Java-Trickkiste

mit Arno Haase (Arno Haase Consulting)

Norman Lahme-Hütig

Java-8-Nachlese – Wie hat Java 8 die Java-Welt verändert?

mit Klaus Kreft (Angelika Langer Training/Consulting)

Dr. Jürgen Beringer ist Senior-Softwarearchitekt bei Spreadshirt. In dieser Funktion ist er maßgeblich für die Entwicklung des Marktplatzes und der Shops verantwortlich. Im Moment arbeitet der Lead-Developer mit seinem Team an einem neuen Shoppartnersystem und an SEO-relevanten Single-Page-Anwendungen basierend auf GWT. 2007 begann Jürgen seine Karriere bei Spreadshirt zunächst im Backend, bevor er 2011 TechLead des Marktplatz-Teams wurde. Er hat Informatik an den Universitäten Marburg und Magdeburg studiert und zum Thema „Online-Datamining auf Datenströmen“ promoviert. Während seiner Studienzeit war er als wissenschaftlicher Mitarbeiter am Lehrstuhl für Informatik tätig.

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.