Grails (framework)

Grails is an open source web application framework that uses the Apache Groovy[2]: 757, §18  programming language (which is in turn based on the Java platform).

Grails was developed to address a number of goals: Grails has three properties that differentiate it from traditional Java web frameworks: Creating web applications in Java traditionally involves configuring environments and frameworks at the start and during development.

However, in recent years, it has become apparent that although XML is great for configuration, it can be tedious to set up an environment.

This may reduce productivity as developers spend time understanding and maintaining framework configuration as the application grows.

Instead, the framework uses a set of rules or conventions while inspecting the code of Grails-based applications.

These dynamic methods allow developers to perform operations without having to implement interfaces or extend base classes.

For example, domain classes have methods to automate persistence operations like save, delete and find The Grails web framework has been designed according to the MVC paradigm.

With Grails 0.3, GORM has been improved and e.g. adds the properties id and version itself to the domain class if they are not present.

Grails offers transparent integration of classes which are mapped with the Hibernate ORM framework.

[3] Archived 2011-07-16 at the Wayback Machine One consequence of this is that scaffolding can be configured for Java classes mapped with Hibernate.

Another consequence is that the capabilities of the Grails web framework are fully available for these classes and the applications which use them.

The SiteMesh framework is used to manage the presentation layer, simplifying the development of pages via a robust templating system.