A couple of years back, I was a longtime and loyal, WebWork (1 and 2), Struts (1 and 2) user. I was very reluctant to even try newfangled frameworks like GWT, or Grails. I thought that using Hibernate, Spring, I was being open enough. This was not true.
So, wanting to stay on top of my game, I opened up to things like Spring MVC, GWT, etc. It was a great idea. Fortunately, because Grails is based on so many tried and true concepts, you’re not leaving sane concepts behind for nonsensical ideas.
Here’s a simple example. Assume you are processing a request, and there’s a variable that you need to provide to the next request/page. You do not want to place this in the session, for a number of good reasons. In the previous frameworks I’ve used, you had to use interceptors that would copy certain variables over for you. This worked, but it was not clean. With Grails, I find myself using the flash concept. Wow. Such a simple idea, that now, I just don’t have to worry about.
Another obvious example is redirection and chaining. I wont waste your time talking about how this was accomplished in the previous frameworks. I will say Grails made it extremely easy. Let’s just say, you leave behind defining a couple of interceptors, and istead write 1-2 lines of code. You can look here for more information.
This post is not to denigrate the awesome work that went into the previous frameworks. But I will say, things like Grails are the manifestation of standing on the shoulders of giants. I’m still working on not using semicolons to end a line. I know I don’t have to omit them, but I’m trying to adopt that. I’m not the earliest adopter, but sooner or later, I tend to come around. I have to give thanks to true early adopters, like the @brianmichelich, answering my stupid questions.