Vert.x es un framework java para la construcción de aplicaciones asíncronas, basadas en eventos y no bloqueantes. Esto significa que con Vert.x podemos obtener aplicaciones concurrentes con un mínimo de complejidad, y un hardware mínimo.
Para ser más explicativo se compara Vert.x con Node.js, por lo que se puede inferir que Vert.x fue pensado para ser concurrente, asíncrono y barato.
Otra ventaja de este framework es que es poliglota es decir podemos escribir aplicaciones en varios lenguajes, veamos un ejemplo:
Java:
public class Server extends AbstractVerticle {
public void start() {
vertx.createHttpServer().requestHandler(req -> {
req.response()
.putHeader("content-type", "text/plain")
.end("Hello from Vert.x!");
}).listen(8080);
}
}
Ruby:
vertx.create_http_server().request_handler() { |req|
req.response()
.put_header("content-type", "text/plain")
.end("Hello from Vert.x!")
}.listen(8080)
Javascript:
vertx.createHttpServer()
.requestHandler(function (req) {
req.response()
.putHeader("content-type", "text/plain")
.end("Hello from Vert.x!");
}).listen(8080);
Groovy:
vertx.createHttpServer().requestHandler({ req ->
req.response()
.putHeader("Content-Type", "text/html")
.end("Hello from Vert.x!")
}).listen(8080)
Como vemos Vert.x proporciona una API en varios lenguajes que da soporte.
Dejo link:
http://vertx.io/
http://vertx.io/docs/