Was bringt die neue Version?

Vaadin: Endlich 7

Benjamin Schupp und Patrick Pfister

Nach über drei Jahren Wartezeit hat die finnische Firma Vaadin am 4. Februar die lang ersehnte neue Version 7 des gleichnamigen Open Source RIA Frameworks vorgestellt. Uns interessiert neben den vielen neuen Features und Umbauten speziell auch, ob in dem neuen Release konkret auf die Probleme der sehr populären Version 6 eingegangen wurde.

Mehr zu Vaadin 7

Hat Sie das Thema Vaadin interessiert? Dann freuen Sie sich auf das kommende Java Magazin, in dem Benjamin Schupp und Patrick Pfister die siebente Auflage des beliebten Web Frameworks in einem ausführlichen Tutorial vorstellen!

Nicht verpassen!

www.javamagazin.de.

Das Vaadin Framework stellt einen interessanten Ansatz für die Entwicklung eines dynamischen Web Frontends dar: Es verwendet ein reines serverseitiges, eventbasiertes Modell und ermöglicht eine Anwendungsentwicklung ohne direkte Verwendung von HTML und JavaScript-Code – also rein auf Java basierend. Mit diesem Programmiermodell hat sich das Framework nun seit gut 10 Jahren einen Namen gemacht und erfreut sich insbesondere seit der Namensänderung in Vaadin und dem zeitgleichen Release der Version 6 im Jahr 2009 wachsender Beliebtheit. Mit der nun veröffentlichten Version 7 wurde seitdem die Hauptversionsnummer erstmalig erhöht.

Erwartungsgemäß erfährt Vaadin in diesem gewichtigen Update eine Vielzahl von neuen Features und viele architektonische Neuerungen und Schönheitskorrekturen an dem API. Als richtungsweisend darf wohl auch bezeichnet werden, dass das Google Web Toolkit (GWT) nun integraler Bestandteil des Vaadin Frameworks geworden ist. Nachdem das Framework bereits seit einigen Jahren für die Clientkomponenten auf das GWT gesetzt hatte, wurde Vaadin letztes Jahr Mitglied des GWT Steering Committees, das die Entwicklung von GWT als Open Source Library weiter steuern soll. Der GWT Source Code ist nun in die Paketstruktur von Vaadin integriert, und die Firma stellt somit einen eigenständigen Support hierzu bereit und kann nun direkter und vor allem zeitnaher auf Probleme insbesondere bei der Browserkompatibilität der GUI Widgets von GWT reagieren.

Ein in unseren Augen entscheidender Sprung mit der Version 7 ist die Öffnung des Frameworks in Bezug auf Erweiterbarkeit und Integration, insbesondere hinsichtlich der JavaScript-Client-Technologie. Vaadins Beliebtheit ist zu einem großen Teil auf den hohen Grad an Abstraktion für die Implementierung von Web-Benutzerschnittstellen zurückzuführen. Das Programmiermodell fühlt sich ähnlich wie die herkömmliche Entwicklung von Java Clients mit Swing an und bietet auch all die Vorteile der typisierten Programmiersprache Java. Web GUIs können vollständig innerhalb der Java-Umgebung mit der gewohnten IDE-Unterstützung umgesetzt werden. Die herkömmlichen Probleme bei der zweigleisigen Entwicklung mit Java auf der Serverseite und der Browserentwicklung mit dem Web-Technologie-Stack (HTML, CSS, Javascript) gibt es bei der Entwicklung mit Vaadin kaum. Diese hohe Abstraktion hat allerdings manchmal neben den erwähnten Vorteilen auch ihre Tücken – so waren mit Vaadin 6 Abwege vom Standard meist nur mit Mühen zu bewerkstelligen. Das Anpassen von bestehenden Komponenten oder gar die Einbindung von fremdem JavaScript-Code wurde prompt zur echten Herausforderung und machten den Gewinn an Zeit und Aufwand oft wieder zunichte.

Gerade hier macht Vaadin 7 nun einen riesigen Schritt. Diese Probleme sind konkret angegangen worden, so dass nun explizit auch auf anderen Abstraktionsebenen programmiert werden kann, ohne alle Interna des Frameworks verstehen zu müssen. Dazu wurden an einigen Stellen neue Schnittstellen eingeführt, wie z.B. die saubere Kommunikationsschicht zwischen server- und clientseitigen Komponenten. Mit Vaadin 7 können nun folgende Architekturansätze für die Programmierung mit Vaadin verwendet werden:

  1. Serverseitige GUI-Entwicklung mit Java (oder JVM-kompatiblen Programmiersprachen)
  2. Java basierte Client-Entwicklung nach GWT-Programmiermodell
  3. Client-Entwicklung mit HTML5 und JavaScript

Dabei ist die serverseitige GUI-Entwicklung mit Java, wie bereits in Vaadin 6 angeboten, weiterhin als primärer Ansatz von Vaadin anzusehen, bei dem mit Komponenten auf effiziente Weise mächtige Desktop-ähnliche Web GUIs programmiert werden können. Optional kann man sich nun allerdings auch der darunterliegenden Abstraktionsebenen bedienen.

Konkret haben sich die Macher aus Finnland mit der neuen Version die folgenden Absichten auf die Fahne geschrieben, welche wir als überzeugte Nutzer von Vaadin 6 nun etwas genauer unter die Lupe nehmen wollen.

Geschrieben von
Benjamin Schupp und Patrick Pfister
Kommentare

Schreibe einen Kommentar

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