Is Spring Roo a java version of grails ? After from the language does it have more features than grails ? ?If langauge is not a barrier why should one use spring roo rather than grails. Please guide us.
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.
Spring Roo produces jsps or a variant of jsps I don't exactly remember which. Spring Roo basically uses Spring MVC to do web based work. You can use GWT and several other web based frameworks within Roo. But ultimately, Spring Roo allows you to write Spring based applications very quickly and relies heavily on AOP. If you've ever played around with Ruby/Rails, think of Spring Roo in a similar vein, where you use commands to write a lot of the boilerplate you would have to write by hand.