Vaadin: Endlich 7

Aufräumen

Neben dem bereits erwähnten Streichen der Unterstützung von IE6/7 und der damit verbundenen Neuimplementierung der Layout Engine wurden auch an anderen Stellen ungewollte Altlasten entfernt. So wurde z.B. das API für die Verwendung von Formularen neu gestaltet. Dieses führte bei Vaadin 6 zu sehr unschönem Code und wurde oft in der Entwicklergemeinschaft bemängelt. Dies wurde nun korrigiert, indem die Gestaltung der Formularseite und das Data Binding separiert sind. Außerdem wird auch endlich die JSR-303 BeanValidation von Hause aus unterstützt und muss nicht mehr via separatem Plug-in hinzugefügt werden. Ebenfalls sauberer abstrahiert wird nun die Schnittstelle zum Konvertieren von in Formularen verwendeten Datentypen.

Was bedeutet Vaadin 7 für meine Vaadin-6-Applikation? Wie durch die Erhöhung der Hauptversion angedeutet ist das neue Vaadin API nicht vollständig kompatibel zum Vaadin 6 API. Neben den neuen Funktionen und Möglichkeiten hat das Entwicklerteam die neue Version auch zum Anlass genommen, verschiedene APIs aufzuräumen und zu vereinfachen. Für einige nicht mehr vorhandene Funktionalitäten werden Legacy-Adapter mitgeliefert, die es erlauben, Code mit minimalen Anpassungen weiterzuverwenden. Eine Migration wird auf jeden Fall auch aufgrund von Anpassungen in den Top-Level-Klassen nicht machbar sein, ohne den bestehenden Code zu berühren. Sofern die zu portierende Applikation nur auf Standard-Vaadin-Komponenten beruht, steht einer einfachen Migration nichts im Wege, falls jedoch eine große Anzahl von Framework-Komponenten angepasst wurde, um mit Tricks die Unzulänglichkeiten von Vaadin 6 zu umschiffen, muss mit einem größeren Aufwand gerechnet werden.

Fazit und Ausblick

Die Version7 des Vaadin Frameworks erfüllt viele Wünsche und Erwartungen der Community. Zahlreiche Ziele bezüglich Erweiterbarkeit, Einfachheit der Entwicklung und Sauberkeit des API wurden gelöst. Wegen der Fülle neuer Anforderungen konnte das Entwickler Team indes nicht alle ursprünglich angekündigten Features in der Version 7.0 implementieren. Version 7.1 verspricht eine einfache Anbindung von Server-Push-Funktionalität, womit dann die Server-Komponenten auch synchron mit den JavaScript Widgets im Browser kommunizieren können. Für Version 7.2 geplant ist das lange erwartete Redesign der äußerst mächtigen Tabellen-Komponente. Diese ist seit Version 6.0 stetig an Funktionsumfang und Komplexität gewachsen und dadurch für den Anwendungsentwickler nur noch schwer erweiterbar.

Benjamin Schupp arbeitet als Lead Architect bei mp technology (www.mptechnology.ch) in Zürich, einem zertifizierter Vaadin Solution Partner. Er ist seit über 10 Jahren als Entwickler, Architekt und Consultant im Software Projektgeschäft rund um Java tätig. Kontakt: schupp [at] mptechnology.ch

Patrick Pfister hat langjährige Erfahrung als Architekt, Projektleiter und Berater in Internet-Projekten. Er ist Mitgründer der Firma mp technology in Zürich, wo er sich mit Requirements Analyse, Solution Design und Architektur beschäftigt. Kontakt:
pfister [at] mptechnology.ch

Kommentare

Schreibe einen Kommentar

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