Last Friday Charles Nutter from Sun and Graeme Rocher from Skills Matter presented Ruby On Rails (mostly JRuby On Rails) and Grails at the profict Summer Camp in the beautiful Loenen (Duch countryside). Both started with a short introduction to the core languages of both frameworks – Ruby (JRuby) and Groovy – with a focus on Java related issues. Among other things they demonstrated quick and easy ways to create Swing interfaces. Charles used Profligacy and Cheri, while Graeme did it with the Groovy SwingBuilder. In both languages it allowed faster Swing development with less and easier code. While this was appealing, I still believe that what Swing needs most of all, are good GUI builder applications which designers can directly use.
Next, they went on showing us the Ruby On Rails (ROR) and Grails frameworks and of course demonstrated the fast creation of a simple working web-application (those famous 10 minute demos). If you want to know more about it, just follow the links, read the introduction and watch the screencasts.
Both Grails and Rails (when used with JRuby) allow integration with Java and a Java infrastructure. Charles for example used the rome library in Rails to generate an RSS feed and the next version of the GlassFish application server will offer special support for deployment of Rails applications. So the idea is, why not combine the best of both worlds (Grails & Java or Rails & Java).
As Groovy is a dynamic language written for the JVM and shares a lot of similarities with Java, I think it might be more suitable for Java teams and environments than Ruby. Grails itself is based on solid java components like Spring, hibernate, quartz, sitemesh, embedded jetty and hsqldb (80% of grails is written in Java) and offers various java related plugins (e.g. for DWR, Wicket, xFire,…). The 0.6 release of Grails (available as release candidate) will offer integrated support for Spring Webflow and the 1.0 release is due in October.
All in all it has been an inspiring afternoon and no matter if you favor Ruby, Grooy, Grails or Rails, these are exiting developments and if you can, learn something new and give it a try. I started to learn Ruby & ROR a while ago but never really had a chance to use it practically. With Groovy & Grails I think it might be different as the demand for lean and agile java development is growing.