- Clean rails-like architecture and design patterns but with an even cleaner API. In fairness, they got to see what did and didn't work well in Rails before they started.
- Seemless intra-VM integration with the vast number of high quality Java libraries.
- Easy to integrate with existing Java enterprise systems.
- Runs on the proven, high performance JVM. The Ruby interpreter just doesn't compare in terms of performance. Yes, I know you can do this with Rails via JRuby, but that effort is still young.
- Code by convention - escape the mess of XML config files in frameworks such as struts.
- Use of Groovy, a Java-like language with all the scripty goodness you've always wanted.
- GORM is great. Its finally as easy to define persistent data entities with types and constraints as it is for regular old in-memory data structures.
Of course there are drawbacks:
- Rails has a much larger community.
- There are many more Rails gems than Grails plugins.
- There are many more Ruby books.
Tags: