Chapter 2. Grails Internals
The Grails Framework was initially discussed on the Groovy user mailing list in 2005. Ruby on Rails was becoming popular (having been released in 2004) and the idea of a JVM-based framework that used similar patterns and approaches seemed like a good one—where the dynamic power of the Groovy language and existing frameworks like Spring, Hibernate, Sitemesh, and several others could be combined into a powerful framework. Version 1.0 was released February 4, 2008, and version 2.0 on December 15, 2011. As of this writing, version 2.2 is the latest released version. Version 2.3 is being actively developed, and plans are being made for the 3.0 release.
Grails is a full-stack framework; meaning, it has support for all aspects of developing web applications. In addition, the framework is plugin-based, so developers can add on new functionality or replace the default implementation of a feature by installing one or more plugins into an application. In fact, newer versions of Grails often see functionality removed from the core and made available as a plugin. This includes Quartz, Web Flow, Jetty, Tomcat, and Hibernate.
A typical Grails application leverages over 30 frameworks and libraries, with Grails wiring everything together and adding significant functionality of its own. Of course, Groovy plays a huge role, providing dynamic language features, metaprogramming, and DSL support to make code and configuration more concise and expressive. The Spring Framework ...