The evolution of Ninja – a full stack web framework rooted in Java
With version number 3 going GA this week, we take a look into the not-so-mysterious ways of this zippy, scalable open-source framework.
Ninja, a web framework written entirely in Java is as the name would suggest, swift, silent, and a master of scaling (though obviously not of castle walls). Much like a martial arts training montage, its development has been as fast and sure as the flight of a throwing star, taking just over 18 months to get to this week’s version three release.
The open-source Java web framework was first developed in 2012 by Berlin based designer and entrepreneur. Previously, the team were heavy users of the Play Framework, as well as JEE and Spring, to develop and maintain applications. However, as the Play framework shifted its focus to Scala, putting Java in the backseat, a gap in the market emerged for a new ‘vanilla Java’ champion.
It’s this Java focus that helps make Ninja an attractive option for many – blending high-quality IDE support, statically typed language, and an enormous sprawling ecosystem. But Ninja isn’t just there to be a panacea for Play’s withdrawal from the Javasphere.
FinalFrontierLabs also wanted something that would combine a veritable Christmas list full of features to make their development easier. Things like simple JSON consumption and rendering for clean restful APIs, HTML rendering / form submission validation and parsing, built-in support for authentication of users, and a nice clean codebase.
The framework comes with integrated Maven build, making horizontal scaling relatively easy. It’s got a useful built-in testing environment, and is “100% compatible with traditional servlet containers.” Moreover, a lack of XML based configuration means that it’s easy to get started out of the box.
Since Ninja kicked into life, rapid development cycles, testing support, a REST architecture and a simple programming model have become its signature moves. Having utilised multiple open source codes in the initial build, the team behind it state that, “Ninja is standing on the shoulder of giants.”
Within version three you’ll find new dependencies, route improvements, and new docs. If you’d like take an epic quest to discover the framework for yourself, you’ll find documentation on the official website, and the source code on GitHub. Pick it up, and, if nothing else, you’ll be able to legitimately add ‘Ninja developer’ to your Twitter bio. No word yet if there’s a rival Pirate framework out there, but rest assured I’ll keep you posted.
Image by wiredforlego