Zum Hauptinhalt Zur Navigation Zur Suche

Vert.x: Polyglottes Webframework in Version 1.0 erschienen

Das durch VMware gesponserte Framework Vert.x ermöglicht auf Basis der Java Virtual Machine die Entwicklung von Webanwendungen in verschiedenen Programmiersprachen. Im Vergleich zu Node.js soll Vert.x effizienter und schneller sein.
/ Matthias Thömmes
5 Kommentare undefined News folgen (öffnet im neuen Fenster)
Die Benchmarks zeigen einen Vergleich zwischen Vert.x und Node.js. (Bild: Tim Fox)
Die Benchmarks zeigen einen Vergleich zwischen Vert.x und Node.js. Bild: Tim Fox

Mit Vert.x ist ein von VMware finanziertes Webframework auf Basis der Java Virtual Machine (JVM) zur Programmierung hochskalierbarer ereignisorientierter Webserver-Anwendungen in verschiedenen Programmiersprachen wie Ruby, Javascript, Groovy oder Java erschienen. In ersten Benchmarks lässt Vert.x das auf Javascript aufsetzende Node.js weit hinter sich.

Vom Event-Bus bis zum Client

Das Projekt setzt sich zum Ziel, die programmiersprachenunabhängige Entwicklung von skalierbaren Anwendungen zu ermöglichen, da nach Ansicht der Entwickler künftige Applikationen überwiegend auf mobilen und eingebetteten Geräten ausgeführt werden.

Anwendungen werden in voneinander isolierten, als Verticles bezeichneten Einheiten realisiert, wobei diese in Java, Javascript, Groovy oder Ruby umgesetzt werden können. Verticles kommunizieren miteinander über einen Event-Bus und können auf einen gemeinsamen Datenbestand zugreifen.

Zur Umsetzung von Echtzeitanwendungen im Webbrowser kann clientseitiges Javascript direkt an den Event-Bus von Vert.x angebunden werden. Das Framework unterstützt den Zugriff auf MongoDB-Datenbanken, ferner unterstützt es die Verwendung von Websockets, optional über die Javascript-Bibliothek SockJS(öffnet im neuen Fenster) .

Von Node.js inspiriert

Projektleiter Tim Fox führt aus(öffnet im neuen Fenster) , dass er sich bei der Entwicklung von Node.js hat inspirieren lassen. Damit vergleichbar, ist Vert.x ereignisorientiert. Da Befehle nicht linear, sondern asynchron ausgeführt werden, können sie eine laufende Applikation nicht blockieren.

Das Nebenläufigkeitsmodell von Vert.x sieht vor, dass Verticles in einem Thread geschrieben und ausgeführt werden, wodurch die sonst notwendige Synchronisierung verschiedener Threads entfällt. Die JVM skaliert selbstständig über verfügbare Rechenkerne. Erste vom Projekt veröffentlichte(öffnet im neuen Fenster) Benchmarkergebnisse eines einfachen HTTP-Servers zeigen hierbei eine gegenüber Node.js deutlich höhere Geschwindigkeit.

Vert.x steht in der Version 1.0 auf Github(öffnet im neuen Fenster) samt Anwendungsbeispielen(öffnet im neuen Fenster) zur Verfügung. In künftigen Versionen will das Projekt die Auswahl an Programmiersprachen um Clojure, Python und Scala erweitern.


Relevante Themen