Vert.x is an event driven toolkit that runs on the JVM allowing the development of asynchronous web applications in Java, Javascript, Scala, Ruby, Ceylon, Kotlin and Groovy.
Vert.x is a polyglot event driven non-blocking toolkit that runs on the JVM - a run-time with real concurrency and unrivalled performance. Vert.x then exposes the API in java, groovy, ruby, scala, kotlin, ceylon and javascript. So you choose what language you want to use and you can even mix and match different languages. It can be used to create microservices, and can also be embedded.
Vert.x has also a powerful module system so you can package your Vert.x components into modules for encapsulation and reuse or even publishing them for the community.
Vert.x can be used as your base application stack from the ground up, but also can be embedded as a dependency of an existing application.
The framework also bundle a host of goodies out-of-the-box including a distributed event bus, websockets, sockjs, a mongodb persistor and many other features so you can write real applications from the set-off. The event bus can be accessed using tcp protocol, and various third party libraries exists to do so for several languages (c++, swift, java, c#, go, python...). A library called eventbus-client.js can also be used in client Javascript code.