I had a project that had to be standalone with a very different look and feel from anything else I had done. After considering a few different options decided to develop it using Grails, likely a 1.x version, since I recall regenerating most of my scaffolding when 2.x came out since I was early in the project.

For rapid prototyping it is extremely quick to have some forms up for a database table with the default behavior, but required a lot of post generation tweaking to get desired page behaviors and security controls, especially on pages that would show additional information to privileged users.

Some of the things I didn't like about it was the lack of compile-time checking, and when you get an error, the stack-trace is a mile long of dynamically generated code with a couple of lines of interest .. if your lucky. We still get spurious exceptions sometimes that aren't easily explained or generated at will.

The other issue is that even though we have kept the runtime up to date and have had little to no issues with each upgrade, the generated scaffold is likely dated with no easy way to update it other than to regenerate and merge.

Overall I think it was a good match, but I would be concerned about using it for a program that was more than a few thousand lines of code if you expect to be evolving your application on a continual basis.

The query interface was interesting, and sparked some changes on how I handle queries now in Cohesion.

© Enraspan Inc. 1998-2021, All Rights Reserved