Preface

Both of us came to Grails a few years ago while looking for a better, easier way to build web applications on the Java platform. Although there were lots of interesting Java frameworks available, the ones we tried seemed clunky and required too much setup. Around that time, the buzz surrounding Ruby on Rails was at a high. Its promise of quick and easy web development was too alluring to ignore, but it meant ditching the Java platform.

That’s when Grails arrived. This was a framework that you could use with just a simple text editor and still be tremendously productive. It was a breath of fresh air for longtime Java developers like us. Even at version 0.1 we could knock out useful applications with a minimum of effort, and since then Grails has grown into a major player that can be used for lots of projects, big and small. I was busy porting my unfinished home SpringMVC projects over to Grails and actually getting them live! My first SMS Gateway application went public on Grails 0.2 beta. At the same time, Peter was surreptitiously introducing Grails into his company--guerilla-style.

Like many good things in our lives, this book started over a hot coffee. I was hanging out with Dierk Koenig (a Groovy legend) for breakfast in Washington during the Groovy/Grails Experience (2GX) conference. After quizzing him on the process of writing Groovy in Action for Manning (which remains one of our all-time favorite programming books), we started to discuss writing an “in the trenches” Grails book that would cover the stuff that developers really need to know, rather than every possible corner case. Dierk said, “Glen, if you write that book, I will buy your first copy.” The strength of that encouragement set the scene for the rest of the project. At the same time, Peter was putting in long hours on Grails support and gathering an internal fact sheet on the topics that developers were really struggling with.

Within a month or two, Manning had made contact, wondering if anyone was interested in writing a book. The timing could not have been better, and we jumped at the chance. Despite a boom in Grails’ popularity, for a long time there was only one book dedicated to Grails, so everything was coming together for a Grails in Action book. The Grails community is an unbelievably supportive one, and when I showed Graeme Rocher a copy of the first draft Table of Contents, he suggested Peter Ledbrook and Jeff Brown as potential collaborators. As it turns out, Jeff ended up working on Graeme’s book, and Peter came on board for Grails in Action. That kind of collaboration is indicative of the friendly spirit in the Grails ecosystem.

Despite the fact that we are antipodean (Peter is from London and I’m from Canberra, Australia), we worked out a way to meet and develop the book through weekly Skype conference calls (at very odd hours). Peter is a core committer for Grails and has done more Grails support work than anyone on the planet. His input really shaped the ideas around “what do working Grails developers really need to know?” He’s also written a lot of the core parts of Grails (including the testing subsystem, the JSecurity plugin, and a lot of the plugin subsystem). His “deep dive” knowledge on Grails added a new dimension to the topics we covered in Grails in Action, making the book a one-stop-shop for learning the key parts of the framework. Peter’s sense of humor and encouraging nature made him an ideal coauthor. The collaboration worked perfectly!

From the start, we wanted not only to teach the reader how to use Grails, but also to distill as much of our practical Grails experience as possible into the book. We wanted it to become an invaluable aid to professional developers. In truth, we could have added even more information, but we hope that we have struck a good balance between useful content and weight. We also hope that you enjoy the book and that it helps you unleash the full potential of Grails.

GLEN SMITH

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset