In case you missed it, there was a full on geek love-fest in Philly yesterday. A capacity group of 50 developers gathered together at the “Fall Forecast 2009: Groovy on Grails” seminar sponsored by my employer, Chariot Solutions. The seminar featured Jeff Brown, a core member of the Groovy and Grails team at SpringSource. I was thrilled to see the Philadelphia Grails community out in full force. Jeff, along with fellow Chariot consultants Ken Rimple and Gordon Dickens, delivered several info packed sessions. The day concluded with a hands on “hack-a-thon” where folks could try out some Grails techniques first hand. I’ll never name any names, but even a few Rails enthusiasts in attendance were impressed with some of the Grails capabilities.
As I recover from my Grails punch-drunk hangover and reflect on the seminar, there is one thing in particular that I keep coming back to – the Grails Framework plugin architecture. At the seminar, Jeff Brown ran a session on plugins during which he demonstrated how to create and use plugins as part of your Grails application development. I was impressed at how simple it is to build a Grails plugin, and how such a small amount of code can do so much for your application. Just in case everyone in the room was not already impressed, Jeff showed us his Clojure Plugin that allows the use of Clojure classes inside of any Grails application. Again, what was most impressive was how little code was required to enable such a powerful feature. In the end, we learned that nearly any library that can be invoked via a Java API can be integrated into Grails with a plugin.
Before the seminar, I already knew that Grails should be on everyone’s short list when considering web application development technologies. Powered by the Spring Framework, employing the simplicity of Groovy, adopting convention over configuration, and allowing you to leverage your existing investment in Java – it is hard not to love Grails. With the over 300 Grails Plugins, there was already plenty of opportunity to quickly extend Grails with any number of useful libraries. But what I am now convinced of is that the plugin architecture goes beyond being just useful and actually makes the Grails Framework one of the most compelling options to create web applications targeted at the Java Platform. Nearly any aspect of the framework can be extended or modified with the use of a plugin – Spring is the one thing that is not plug-able. Need to use a language that runs in the JVM but it isn’t Java, that isn’t a problem. Your investment in the Java Platform is protected by the fact that Grails will permit you to leverage your existing languages and libraries via plugins. And when the day comes, as it always does, to replace or update that library – install the new or updated plugin and you should hardly miss a beat. And while I’ve mostly talked about plugins for extensibility, let us not forget using plugins for code reuse. Plugins enable reuse between web apps with such ease that any battle hardened Java web developer will never want to think about extending a Struts Action or wiring a Spring Servlet context again as long as they live.
I am a Java, Groovy and Grails consultant and software architect. I have worked with Java for many years, but recently I have taken an interest in new languages for the Java Platform - such as Groovy!












