Spring Roo
Recently SpringSource released an interesting … hm … what is it?
In short, its a bootstrapping device for new projects and a code generator for common tasks, tailored for the spring stack.
(and surely much more I’m currently not aware of)
As far as I see, it is a missing link for Spring development. Most developers are very lazy and the barrier to plunge into new technologies is quite high if the given introductory example doesn’t work out of the box. Another problem domain tackled by ROO is the boring stuff which has to be done frequently – like adding Controllers, Views to some web project, creating domain objects and so on.
Everybody has his tricks, ranging from keyboard shortcuts to code templates. Roo looks like a powerful tool designed for boring tasks. Or rather, to avoid boring tasks.
Ok folks, stop writing abstractions which reach the end of their lifecycle before the next homemade nullpointer, don’t hassle with your favorite code generator – Let others do the dirty work. Concentrate on your business.
Scaffolding, prototyping, being productive … what else do you want from an average developer, always underpaid? Of course a tool which does “everything” for you.
ROO is something like that, well almost. It won’t get paid (that is your job) and it is even opensource!
It even generates some weired AspectJ stuff!, well don’t mind about that. Aspect oriented programming doesn’t get the momentum it should, maybe because programmers are just too dumb for using it?
Part of the problem is that an average Java developer not only has to master the language itself, which got considerably more complex since the addition of generics, but even more has to integrate lots of libraries in order to get to a simple CRUD application. The freedom of choice is not a bad thing per se, it can lead to considerable fustration sometimes on the other hand.
Roo is clearly aimed at the ‘experienced’ hacker who remembers the time of command line applications, seems like they’ve invested some thought into what developers really need and really like. At first glance, skimming through readme and examples, it looks quite promising. By exploiting its scripting functionalities, we’ll soon see many Meta Meta Meta Generators. I’m curious.
Alors, go and try it yourself.
Disclaimer: Using ROO won’t save you from not needing to understand the involved technologies.