REVIEW - Groovy and Grail Recipes


Groovy and Grail Recipes


Bashar Abdul-Jawad




Apress ()




Alan Griffiths


December 2009



Groovy is one of a number of "dynamic languages" that have become popular recently. Groovy is reminiscent of Smalltalk in that the object model allows object types to be modified as the program runs and its use of closures. It's other distinguishing feature is a flexible mapping into the Java JVM that allows existing Java libraries to be accessed via several convenient syntaxes. Java code can also invoke Groovy allowing an application to use the more suitable language for various parts of a project.

Grails is, as the name suggests, a web framework inspired by Ruby-on-Rails. I've not used either of these for significant projects, but they both appear to address a lot of the tedium of managing user access and session control that I experienced using JSP nearly a decade ago (so some progress is being made in the industry).

This book doesn't take the usual didactic approach to teaching a programming language. It assumes a level of competence from the reader and comprises an enormous number of worked examples or "recipes". These focus on showing how accessing various technologies can be accessed easily from a Groovy program. The Grails framework is the technology treated in greatest depth - the Grails related recipes take up most of the second half of the book.

Taken in large doses the persistent claims that "Groovy is great because you can do *this* like *this*" can be a bit wearing, but that is less of an issue if the book is used as a reference.

There are a lot of tasks for which Groovy is a suitable language - allowing a lot of programmer productivity and this is clearly demonstrated by some comparisons with Java. The recipes in this book provide an easy source of examples for using a wide range of technologies. This does require the reader to have the knowledge to decide what to use and how it fits into the application.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED

By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED

Settings can be changed at any time from the Cookie Policy page.