Vert.x 2.0 ist da

Hartmut Schlosser

Das Projekt Vert.x gilt vielen als Java-Alternative für das unter Webentwicklern so populäre Node.js. Wie die JavaScript-Plattform bietet auch Vert.x die Möglichkeit, nicht-blockierende, asynchrone Netzwerkanwendungen ohne komplexe Konfigurierarbeit zu entwickeln. Nach der letzten Vert.x Version 1.3.1, die noch unter der Schirmherrschaft von VMware im Januar erschienen war, präsentiert Projekt-Leiter Tim Fox nun die Version 2.0 – dieses Mal unter dem Dach der Eclipse Foundation.

Viel hat sich an den Core APIs getan, die aufgeräumter wirken und auch neue Features bieten. So wurde in Vert.x 2.0 ein effizienteres Classloading Model implementiert. Ein neues Modul-System erlaubt es, Komponenten-basiert zu entwickeln, wobei sich Module in beliebige Maven Repositorys oder Bintrays anlegen lassen. Auch verschachtelte Module sind möglich.

Vert.x ist bekanntlich mehrsprachig angelegt und unterstützt neben Java auch JavaScript, CoffeeScript, Ruby, Python und Groovy. Verwendet Node.js die Google V8 JavaScript Engine zur Ausführung, so kommt bei Vert.x die Java-Runtime zur Anwendung. Ein verteilter Event Bus verbindet die Server-seitigen Komponenten. Ein ausgetüfteltes Concurrency Model übernimmt die Ausführung nebenläufiger Prozesse, um die sich der Entwickler nicht selbst kümmern muss.

In Vert.x 2.0 sind die verschiedenen Sprachen jetzt als einzelne Module angelegt, sodass sich jeder sein benötigtes Sprachpaket dazuladen kann. Die Vert.x Core Distribution fällt mit 9MiB deshalb auch schlanker aus. Dafür, dass hier ein Ökosystem von wiederverwendbaren Modulen entstehen kann, soll eine Module Registry sorgen: Registrierte Module werden der Community angezeigt und erhalten globale Sichtbarkeit.

Mit der neuen Version lassen sich sowohl der Vert.x-Kern wie auch die gesamte Plattform in existierende Java-Programme einbetten. Neu sind auch Beispielprojekte für Maven und Gradle, die das Aufsetzen von Standard-Vert.x-Applikationen mit diesen Build-Tools erleichtern sollen. Verbesserungen gab es zudem beim Multi-Threading (Vert.x unterstützt sowohl blockierende als auch nicht-blockierende Anwendungen bzw. „Verticles“), beim Test-Framework (Vert.x-Tests können als JUnit-Tests laufen) und beim Auto-Redeploy (Modul-Änderungen im Editor spiegeln sich unmittelbar in laufenden Vert.x-Anwendungen wider).

Vert.x Chefentwickler Tim Fox ist zuversichtlich, mit der Version 2.0 einen großen Wurf gelandet zu haben:

We believe that Vert.x provides the ideal foundation for the new generation of highly scalable, polyglot applications.

Neue Funktionalität wird ab jetzt in Form von Modulen angeboten werden, was den Vert.x-Kern weiter schlank halten soll. Außerdem wird es in den nächsten Wochen darum gehen, neue Sprachen mit an Bord zu holen. Konkret sind bereits Arbeiten für Scala- und Clojure-Implementierungen in Gange, die schon recht fortgeschritten zu sein scheinen.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

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