lørdag 6. august 2011

A groovy infatuation growing

I guess for the last 2 years I've been interested and intrigued by the groovy ecosystem. However customers in Norway that are groovy ready aren't exactly lining up in my experience. I was fortunate enough to help a customer last year introduce the build toolkit #gradle (love it). It gave me an opportunity to at least get a taste of groovy in real life projects.  Since then I've been looking for opportunities to introduce smatterings of groovy wherever applicable.

During the summer I had grandiose plans for various hobby projects, but forgot that family sort of requires most of that holiday spare time. I've immensely enjoyed reading the "Groovy in action" second edition Meap, and its triggered a lot of other groovy related readings.

Grails pick and choose ? Yay!
Anyways I have been playing around bit,  and one of the things that has been paying dividends is looking at a possible web stack of #Gorm and #Tapestry5.
Why not just grails ? Well.... ignorance might be part of it, but I really do like the component oriented/ event oriented kind of web frameworks like tapestry, wicket and vadin. Maybe the fear of leaving java too far behind is getting the better of me as well. Yeah and well I have had some very positive experiences with using Tapestry. There is that. 

Web frameworks are written by backend people
Silly to couple JS so tightly with a web framework you say ? I'm sure there is some merit(sometimes a lot) in that, however I don't always have the luxury of having an JS expert next to me, and frankly most of the aforementioned frameworks have made leaps in "liberating" themselves from specific js frameworks. Specifically I've been trying out tapestry in a jquery dressing and enjoyed it so far. Use what you like of the client side stuff and customize the rest, it might just work out pretty well for you. (I'm no fan of struts of spring mvc btw).

Sample app
I'm currently working on a sample groovy app using tapestry, gorm, spock and gradle. Managed to "unify" logging using logback (groovy friendly) and I'm sure geb might be considered as well. Regardless, the general experience so far is: Most things are just so pleasant and amazingly productive to work with. IDE support has been above all expectations (thx jetbrains/idea) and documentation etc have been plentiful. 

Bye java ?
I've really enjoyed java in the past and still believe the jvm has a bright future (unless oracle messes it up big time). However java the language is just ... well ... lagging and not nearly as ... groovy.

A blog post about the sample app will be coming. But so far I can reveal that #tapestry5 and #gorm are playing fairly happily together :-)

good night
- and yes I did write this up in a "got it to work" euphoria