SAN FRANCISCO (02/05/2008) - The Grails 1.0 open source Web application development framework was announced this week by G2One, which specializes in Groovy and Grails technology, and the Grails development team.
Grails is built on Java and the Groovy language. It leverages frameworks and tools from the Java enterprise sphere including Spring, Hibernate, and SiteMesh, G2One and the development team said. With Grails, Java developers get convention-based rapid development while leveraging existing knowledge and capitalizing on APIs Java developers have used for years.
"What we're trying to achieve is really to fundamentally simplify Java EE [Enterprise Edition] development," said Graeme Rocher, creator of the Grails project and CTO at G2One.
Grails is different from other dynamic language frameworks because it embraces Java and leverages Spring at its core, Rocher said. Spring's role in Grails is akin to being an enterprise application toolkit that features ease of use, he said. Hibernate is used for object-relational mapping in Grails, he said.
Used mainly for Web applications and available previously in point releases, Grails also can be used for desktop applications and Web tiers. Ajax support is built in through a prototype library, Rocher said. Plug-ins enable Grails to work with technologies such as Adobe Flex, Google Web Toolkit, and the Yahoo UI library.
The 1.0 version has been in the making for two years and eight months. New features including an ORM DSL (Object Relational Mapping Domain Specific Language) for advanced mappings, support for easy-to-use filters, and content negotiation. REST (Representational State Transfer) also is leveraged, as is JNDI (Java Naming and Directory Interface).
ORM DSL allows Grails to support legacy databases in applications. "Essentially, it's a declarative way to say that this object maps on to these tables," Rocher said.
Filters apply cross-cutting behaviors to Web applications to apply capabilities such as security, tracing, and logging. With REST support, Grails allows for existing Web objects to be converted to XML or JSON (JavaScript Object Notation), with tasks being automated.
With JNDI, Grails provides the ability through Spring to look up existing programming objects such as a data source.
The Grails project receives 5,000 to 10,000 downloads per month, Rocher said.