Einführung in die Entwicklung mit Vaadin, Teil 1

Bisher war es nicht oder nur schwer möglich, Java-Applikationen im Browser auszuführen: Der Startbildschirm eines Applets reicht bei vielen Benutzern aus, um einen geradezu neurotischen Klickreflex auf das X auszulösen. Vaadin begegnet dem Problem auf innovative Art und Weise.

Werkzeuge  –  0 Kommentare
Einführung in die Entwicklung mit Vaadin, Teil 1

Vaadin (= finnischen Wort für ein weibliches Rentier) ist ein serverseitiges Webframework, das Entwicklern erlaubt, so gut wie komplett in Java zu entwickeln. Nur wenn es etwas zu gestalten gilt, braucht man CSS, auch wenn Vaadin einen Compiler für die CSS-Erweiterung SCSS (Sassy CSS) mitliefert. Dennoch ist es Java-Entwicklern möglich, weitgehend in ihrer geliebten Sprache zu verbleiben, einschließlich der Webseiten. HTML und JavaScript können also – solange kein Bedarf zu manueller Optimierung besteht – außen vor bleiben. Vaadin ist so weiter von typischen Websprachen entfernt als beispielsweise die JavaServer Faces (JSF), bei denen die Webseiten getrennt vom Code – eventuell auch von Designern – zu gestalten sind.

Zum Verständnis von Vaadin sei mit einem Blick auf das in Abbildung 1 gezeigte Strukturdiagramm begonnen. Vaadin setzt kein separates Browser-Plug-in voraus: Es handelt sich vielmehr um eine in JavaScript gehaltene Runtime, die während der Programmausführung mit einem Applikationsserver kommuniziert und dessen Befehle umsetzt.

Die Vaadin-Ausführungsumgebung wirkt nur auf den ersten Blick kompliziert (Abb. 1). (Bild: Vaadin)

Die Interaktion erfolgt durch den Austausch von Nachrichten. Vaadin-Steuerelemente im Browser empfangen von der Runtime Kommandos, die sie zur Anpassung ihres Inhalts animieren. Die Interaktion auf Seiten des Servers erfolgt komplett in Java – und Entwickler können sich JavaScript fast komplett vom Leib halten.

Frage des Werkzeugs

Aus Gründen der Bequemlichkeit verwendet der Autor in den folgenden Schritten Eclipse – und zwar die aktuelle Eclipse IDE for Java EE Developers. Als Host-Betriebssystem kommt Ubuntu 14.04 auf einer 64-Bit-Workstation zum Einsatz. Entwickler extrahieren das heruntergeladene Archiv (eclipse-jee-neon-R-linux-gtk-x86_64.tar.gz) in ein Verzeichnis im Dateisystem. In den folgenden Schritten soll mit einem eigenen Workspace gearbeitet werden – das ist für Experimente erfahrungsgemäß günstiger.

Nach dem Start und dem erfolgreichen Anlegen des neuen Workspace sind die für die Arbeit mit Vaadin erforderlichen Komponenten in Eclipse zu installieren. Vaadin bietet hierfür ein klassisches Eclipse-Plug-in an, dass sich durch Anklicken von Help | File | Add New Software herunterladen lässt. Danach müssen Entwickler die URL in das Feld "Work With" eingeben und Enter drücken, um den Inhalt der Paketquelle in Eclipse zu laden. Die IDE wird beim Herunterladen der Pakete mitunter eine Warnung bezüglich der Signaturen ausgeben, was man aber ignorieren kann. Nach getaner Arbeit müssen Entwickler folgende Pakete markieren:

Vaadin     
Vaadin Designer 1.1.1
Vaadin Plug-in for Eclipse 3.0.0

An der Stelle sei angemerkt, dass das Herunterladen des Vaadin Designer nicht unbedingt erforderlich ist. Es handelt sich dabei um eine Sonderkomponente, die einen grafischen Editor für Formulare von Vaadin-Applikationen anbietet. Seine Nutzung ist kostenpflichtig, was beim Design der Applikation zu berücksichtigen ist. Zu guter Letzt muss man das Herunterladen der Plug-ins wie gewohnt abschließen.

Nach dem obligatorischen Neustart von Eclipse klicken Entwickler auf File | New | Project..., um den Assistenten zum Erzeugen eines neuen Projekts auf den Bildschirm zu holen. Dort findet sich die in Abbildung 2 gezeigte Vorlage, die das Anlegen eines neuen Vaadin-Projekts unter Nutzung von Maven ermöglicht.

Diese Vorlage erzeugt schnell und komfortabel das passende Projekt (Abb. 2).

Im Rahmen des ersten Abarbeitens des Installationsassistenten ist das Archetyp-Fenster leer: Durch Anklicken von Next überspringt man den Sachverhalt, um Eclipse zum Anlegen eines Wegwerf-Projektskeletts zu animieren. Im Zuge des Prozesses verbindet sich Maven mit dem Server von Vaadin und lädt weitere Archetyp-Informationen herunter, die im nächsten Schritt zur in Abbildung 3 gezeigten Darstellung führen.

So ist das Fenster voll bevölkert (Abb. 3)