Recently, I’ve been working on a project that gave me a chance to get back to JVM world and take a nice look into its current state. Having spend a lot more time in .NET world last decade, it was very refreshing to experience it again. Highlights for me are working with Groovy (very nice and easy, but powerful and fast) and vertx.io application platform.
So… I simply love and admire the design of vertx.io; although it provides powerful set of features, it uses asynchronous messaging and reactive programming principles, it makes most of required infrastructure glue code disappear, by providing right abstractions and lightweight APIs that never gets in your way.
Here is the more complete list of the features straight from the their website:
- Simple actor-like concurrency model. Vert.x allows you to write all your code as single threaded, freeing you from many of the pitfalls of multi-threaded programming. (No more
volatileor explicit locking).
- Vert.x takes advantage of the JVM and scales seamlessly over available cores without having to manually fork multiple servers and handle inter process communication between them.
- Vert.x provides real power and simplicity, without being simplistic. Configuration and boiler-plate is kept to a minimum.
- Vert.x includes a powerful module system and public module registry, so you can easily re-use and share Vert.x modules with others.
- Vert.x can be embedded in your existing Java applications.