Vert.x is a tool-kit for building reactive applications on the JVM.

Vert.x is an open source, reactive, polyglot toolkit or platform running on the Java Virtual Machine. You can think of Vert.x as an alternative to the Java Enterprise Edition but with a different approach to solving the same problem – developing networked, highly concurrent applications

Vert.x as a Toolkit or Platform

Vert.x can be used like toolkit. You can embed Vert.x in your standalone Java application, instantiate a Vertx object and call methods on it to get Vert.x to do what you need it to. In toolkit mode your code controls Vert.x.

Vert.x can also function like a platform. You can startup Vert.x from the command line and tell it what components of yours to run. This is similar to how you normally start up a Java EE application server.

Vert.x calls itself a reactive toolkit. Reactive applications consists of components that send messages or events to each other. This is quite a different internal design than Java EE. This internal design makes Vert.x suitable for different types of applications than Java EE (for instance chat and game servers).

Vert.x is Reactive

Vert.x is Polyglot

Vert.x is polyglot meaning you can implement the components you want Vert.x to execute (called “Verticles”) in many different languages. Vertx. can execute Java, JavaScript, Ruby, Python and Groovy.

Vert.x can even deploy verticles written in different languages into the same application. This gives you the freedom to choose the most suitable language for each job. Some tasks might be easier to implement using a functional language like Scala. Others easier in a more traditionally imperative language like Java.