© Excellent backgrounds/Shutterstock.com
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?

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).

bayer_1.tif_fmt1.jpgAbb. 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

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>Clojure Vaadin 7 RSS Reader</display-name> <context-param> <description>Vaadin production mode</description> <param-name>productionMode</param-name> <param-value>false</param-value> </context-param> <servlet> <servlet-name>vaadinServlet</servlet-name> <servlet-class>com.vaadin.server.VaadinServlet</servlet-class> <init-param> <description>Vaadin UI</description> <param-name>UI</param-name> <param-value>rsscljvaadin.RSSApplicationUI</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>vaadinServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>

Hier ergibt sich die erste Besonderheit im Zusammenspiel mit Clojure: Cl...

Neugierig geworden?

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