Groovy, Grails, and RIAs…Oh My!

:: codemash, grails, groovy, ria

This past week I was fortunate enough to attend CodeMash v2.0.0.8 in Sandusky, Ohio. This conference is unlike anything I’ve ever been to, somewhere in the neighborhood of 350 Java programmers, .NET fan-boys and Ruby zealots all under one roof, and even having a little fun together.

I started out the day on Thursday with a helping of Groovy. Andrew Glover, one of the co-authors of Groovy in Action talked about Groovy and reignited my passion for this wonderful scripting language. For those of you who haven’t looked at Groovy yet, you owe it to yourself to take a look at it. Groovy is a “Java”-like scripting language that has some similarities with other dynamic languages like Python and Ruby. Groovy is a dynamically typed language, unlike its Java counterpart, has no checked exceptions, and also has support for things such as closures. The really powerful thing about Groovy is its ability to run in the same JVM as your current Java applications, have access to all of the classes available to Java, and all of your Java applications can also access any libraries you have written in Groovy. This makes for a very easy adoption and integration into existing Java applications, or even quick prototyping that could eventually (if necessary) be replaced by Java code. Don’t be surprised if you see more and more Groovy seeping into Java applications with its low cost of adoption.

The other real exciting session that I attended on Thursday was the Grails presentation given by Chris Judd, who is co-authoring a book called Practical Grails Applications. I was excited to see this framework actually approaching its 1.0 version in the very near future. I had looked at it earlier last year, but it was undergoing such rapid changes to its API that the book I purchased was rendered obsolete by the time I read it. Hopefully Chris and company have a very successful title and I’ll be able to actually build a working application. Grails is rather interesting in that it is similar to Rails in the fact that it follows the “Convention over configuration” theme, but after that most similarities stop. Grails leverages the Groovy language as its main development language, and leverages popular Java frameworks such as Spring and Hibernate to much of the heavy lifting. Even though the main contributor to Grails is a staunch anti-Maven guy (http://graemerocher.blogspot.com/2006/09/vote-to-stop-maven-infesting-spring.html), I’m still pretty excited about this framework and can’t wait to see it grow and prosper in the next year.

Friday I got to hear James Ward, a Flex evangelist from Adobe, give a presentation on migrating Web 1.0 applications to RIAs. As some of you may know BJ Allmon and I are writing a book on Flex and how to do Agile programming using Flex. This presentation was especially helpful in the fact that James pretty much validated the whole book for us in this one presentation. His set of steps for refactoring Web 1.0 applications to Flex practically mirrored our table of contents that I had written just a couple of weeks before attending this conference.

I had a wonderful time at this conference. I finally got to meet Bruce, who was the one who recruited me to Pillar, and BJ who will be helping me write possibly the best Flex book ever. I also got to meet some other very bright people out there in the technology world and pick their brains about some of the bleeding edge topics that interest me. I really hope that Pillar keeps sponsoring this conference and sends more and more of us each year to experience this.