posted 10 years ago
Roo and Grails have different fundamental approaches. Roo is a tool, not a framework per se. It helps you roll out frameworks in your Spring-centered applications. It treats Spring, Spring MVC, JPA, etc as first-class APis, so in that way it is more of a productivity tool.
The alternative view of Grails is that a set of small domain specific languages written in Groovy simplify web development. GORM, Grails controllers and services are all groovy-language driven and simplified. Easier to learn of themselves and in some ways more powerful.
For a green-field project with no basis on Java or Spring, Grails is a good choice. I am still a big fan. However, for larger project teams, for projects that heavily leverage Spring APis, for staying on the Spring platform, Roo is a good choice. Also as a way of leveraging expertise from other team members in the form of custom add-ons, Roo has a higher learning curve(OSGi, etc) but you can do anything you want to your project (within reason). And every Roo feature is written as an add-on so you can learn techniques by browsing the source on GitHub.