By Tori Wieldt on Feb 25, 2014
Vert.x is one of the most popular Java projects on GitHub. Sometimes called "Node.js for the JVM," it is a ployglot event-drive app platform. It is 100% open source, under the Apache Software License 2.0.
Vert.x is designed for modern mobile, web, and enterprise applications. "Modern applications are reactive (event-driven) and must be scalable," says Vert.x creater Tim Fox. The Distributed Event Bus, Vert.xs' nervous system, is a point-to-point message system which can talk across multiple JVMs. Async is harder to develop to, but it allows scalability and high levels of concurrency (e.g. web servers, Websockets and IoT). "OS threads are still a precious resource," Fox explains.
In a Vert.x world, applications are are loosely coupled components distributed across your network; there is no monolithic app server. It uses a module system (which Fox describes as "a zip file that contains stuff"). The modules are like legos. There are existing modules for MongoDB, JDBC, Jersey, Facebook, Guice, SocketIO, Kafka, and more. If you don't want the whole platform, Vert.x can be embedded as a library in your existing Java applications.
It has an active and growing community, you can learn more at vertx.io. With simple concurrency, ease of development, a library of modules, this open source project is worth a look.