© Excellent backgrounds/Shutterstock.com
Java Magazin
Vaadin 7 für die Oberfläche einer Clojure-Anwendung

Vaadin 7 für die Oberfläche einer Clojure-Anwendung

Im Java Magazin 6.2013 wurde die neue Major-Version 7 des RIA-Frameworks Vaadin vorgestellt. Mit Vaadin 7 können ansprechende Webapplikationen schnell und einfach entwickelt werden. Die funktionale Sprache Clojure gibt und hält ähnliche Versprechen in Sachen Einfachheit und Schnelligkeit bei der Entwicklung. Sie bietet außerdem hervorragende Interoperabilität mit Java. Was liegt also näher, als Vaadin 7 für die Oberfläche einer Clojure-Applikation zu verwenden?

Tobias Bayer


Erlang/Clojure

In diesem Artikel wird anhand eines einfachen RSS-Readers beschrieben, wie die Oberfläche einer Clojure-Webapplikation mit Vaadin 7 erstellt werden kann. Der RSS-Reader bietet ein Eingabefeld, in das der Benutzer den URL eines RSS-Feeds einträgt. Ein Klick auf den Fetch-Button lädt den Feed und parst ihn. Die Applikation stellt die Titel der einzelnen Feedelemente in einer Tabelle dar. Klickt der Benutzer auf einen Tabelleneintrag, werden der Feedinhalt und der Link zum vollständigen Artikel unterhalb der Tabelle angezeigt (Abb. 1).

Abb. 1: Oberfläche des RSS-Readers

Die Webapplikation konfigurieren

Vaadin 7 weist gegenüber den früheren Versionen Änderungen im Bootstrap-Prozess auf. Das Framework liefert nun ein eigenes Servlet mit, das mit einer Klasse initialisiert werden muss, die von com.vaadin.ui.UI ableitet. Diese Klasse ist der Einstiegspunkt für den Start der Webapplikation. Sie enthält eine init-Methode, in der der Entwickler das UI aufbaut. Das Vaadin Servlet wird mit dieser Klasse in der web.xml konfiguriert (Listing 1).

Listing 1: web.xml Clojure Vaadin 7 RSS Reader Vaadin production mode productionMode false vaadinServlet com.vaadin.server.VaadinServlet Vaadin UI UI rsscljvaadin.RSSApplicationUI vaadinServlet /*

Hier ergibt sich die erste Besonderheit im Zusammenspiel mit Clojure: Clojure kompiliert den Code erst zum Zeitpunkt der Ausführung. Für eine Vaadin-Webapplikation muss die UI-Klasse aber bereits beim Deployment der Applikation vorhanden sein. Der Entwickler steht also vor der Aufgabe, diese Klasse aus seinem Clojure-Code erzeugen zu müssen. Clojure bietet hierfür Ahead-of-Time-Kompilierung (AOT) an. Mit dieser Funkt...

Java Magazin
Vaadin 7 für die Oberfläche einer Clojure-Anwendung

Vaadin 7 für die Oberfläche einer Clojure-Anwendung

Im Java Magazin 6.2013 wurde die neue Major-Version 7 des RIA-Frameworks Vaadin vorgestellt. Mit Vaadin 7 können ansprechende Webapplikationen schnell und einfach entwickelt werden. Die funktionale Sprache Clojure gibt und hält ähnliche Versprechen in Sachen Einfachheit und Schnelligkeit bei der Entwicklung. Sie bietet außerdem hervorragende Interoperabilität mit Java. Was liegt also näher, als Vaadin 7 für die Oberfläche einer Clojure-Applikation zu verwenden?

Tobias Bayer


Erlang/Clojure

In diesem Artikel wird anhand eines einfachen RSS-Readers beschrieben, wie die Oberfläche einer Clojure-Webapplikation mit Vaadin 7 erstellt werden kann. Der RSS-Reader bietet ein Eingabefeld, in das der Benutzer den URL eines RSS-Feeds einträgt. Ein Klick auf den Fetch-Button lädt den Feed und parst ihn. Die Applikation stellt die Titel der einzelnen Feedelemente in einer Tabelle dar. Klickt der Benutzer auf einen Tabelleneintrag, werden der Feedinhalt und der Link zum vollständigen Artikel unterhalb der Tabelle angezeigt (Abb. 1).

Abb. 1: Oberfläche des RSS-Readers

Die Webapplikation konfigurieren

Vaadin 7 weist gegenüber den früheren Versionen Änderungen im Bootstrap-Prozess auf. Das Framework liefert nun ein eigenes Servlet mit, das mit einer Klasse initialisiert werden muss, die von com.vaadin.ui.UI ableitet. Diese Klasse ist der Einstiegspunkt für den Start der Webapplikation. Sie enthält eine init-Methode, in der der Entwickler das UI aufbaut. Das Vaadin Servlet wird mit dieser Klasse in der web.xml konfiguriert (Listing 1).

Listing 1: web.xml Clojure Vaadin 7 RSS Reader Vaadin production mode productionMode false vaadinServlet com.vaadin.server.VaadinServlet Vaadin UI UI rsscljvaadin.RSSApplicationUI vaadinServlet /*

Hier ergibt sich die erste Besonderheit im Zusammenspiel mit Clojure: Clojure kompiliert den Code erst zum Zeitpunkt der Ausführung. Für eine Vaadin-Webapplikation muss die UI-Klasse aber bereits beim Deployment der Applikation vorhanden sein. Der Entwickler steht also vor der Aufgabe, diese Klasse aus seinem Clojure-Code erzeugen zu müssen. Clojure bietet hierfür Ahead-of-Time-Kompilierung (AOT) an. Mit dieser Funkt...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang