The Vert.x application framework boasts of the following features
Simplicity is a forgotten skill in programming where developers are tempted to show off their technical skills, overwhelming the users. Vert.x sticks to simple and clear APIs which can be developed and implemented very easily.
Vert.x promotes a simple, asynchronous programming model for writing truly scalable non-blocking applications. It efficiently utilizes server cores by message passing using non blocking I/O to serve many connections with minimal threads.
Vert.x offers simple, single threaded concurrency model and circumvents the nuisances of multi-threaded programming. It means that means that the multi-thread programming effect can be achieved without synchronization, lock, or volatility. This allows the users to focus on the business logic rather than handling the issues that come with multi-threading.
- Distributed Event Bus
- Web Sockets
Vert.x incorporates WebSockets and SockJS support for real-time server-push applications.
- Module System
Vert.x has a module system allowing packaging of components into modules for encapsulation and reuse. Sharing of these components can be done on the community using Maven Central and advertising on public module registry.
- Seamless Architecture
The seamless architecture promotes running, debugging and testing of the Vert.x applications in IDE of choice.
Auto Redeploy can be used to see changes instantly in a running module.
- Open Source
Vert.x is completely open source and is licensed under the Apache Software License 2.0
Keep following this blog for a write up on the differences of Vert.x and Node.js