title: Is Grails (now) worth it?
body: <p>I know this is a <a href="https://stackoverflow.com/questions/397228/is-grails-worth-it">duplicate</a>, however, the Grails world has moved on considerably since that question was asked more than a year ago, as has the IDE support in Eclipse, so please don't just blindly close it.  </p>
  
  <p>I thought the answer was yes and have embarked on a new project with <a href="http://www.grails.org/1.2+Release+Notes" rel="nofollow noreferrer">Grails 1.2.0</a> and have flirted with the Groovy/Grails bits of the <a href="http://www.grails.org/STS+Integration" rel="nofollow noreferrer">STS Eclipse Integration</a>.</p>
  
  <p>I think the question deserves revisiting after a year of Grails evolution, when the answer was definitely mixed.</p>
  
  <p>So, as an experienced Java web developer I have these questions and would appreciate <em>my assumptions</em> being challenged:</p>
  
  <ul>
  <li>Is Grails now worth it vs. Ruby or roll your own?</li>
  <li>Has it overcome its buggy start?  </li>
  <li>Does it really confer rapid development benefits?  <em>(I admit I am struggling now I am past the extensive baseline configuration to make my bespoke app which is not list and page oriented)</em></li>
  <li>Does it perform for real world production apps?  <em>(It feels heavy)</em></li>
  <li>Is the Eclipse plug-in better than it was and fit for purpose? <em>(I think not yet)</em></li>
  </ul>
  
  <p>Thanks</p>
  
  <p><strong>EDIT:</strong>
  I am learning as I go and I have a couple of significant gripes to make about living with the framework - rather than framework capabilities themselves.  I am adding these because I think they should be considerations and are based on my experience and opinion, and may help someone who is trying to decide whether to go grails.  I may also be showing my lack of experience with the framework, so none of this is meant as out and out criticisms.  I am an experienced developer and this is what I have found:  </p>
  
  <p><strong>Debugging is really hard</strong>.  In fact it is almost impossible, especially as a beginner in the framework, which is when you need your trusty debugger friend the most.  I have spent way more time than I ought to tracking down problems of syntactical errors in some part of the code to do with referring to domain fields which cause silent failures somewhere in the stack.</p>
  
  <p><strong>Logging is frankly awful</strong>.  You have two modes, "nothing useful" and "an inordinate amount of useless stuff". My debug log was 128Mb after a single page request and contains nothing about my error.  The whole issue of logging needs reconsideration in the framework in my opinion.</p>
  
  <p><strong>The STS Eclipse IDE is of marginal value</strong>.  Other than syntax hilighting it is not much use.  You can't debug the code so it is a glorified editor.  The code hints are patchy and there is no GSP support at all as far as I can see.  It also is the slowest Eclipse plug-in I have on my desktop - by about 2 minutes to start up.  It is shockingly slow.  I have reverted to a text editor (which you'll notice all the online tutorial videos do too) and some custom syntax hilighting.</p>
  
  <p><strong>I have some serious concerns about performance</strong>.  A bit too early to say, but I am already finding myself tweaking the database because of hibernate.  Perhaps that's to be expected, but I am really having to keep my domain model simple for the conventions to yield performant queries.</p>
  
  <p>And one last one, the convention that your logical domain model and your physical database model should be identical is not a smart default and unlikely ever to be the case in the real world.  I know you can separate the two, but it creates a degree of complexity which I think could be avoided if the conventions were extended.  There is inadequate documentation about composition and <a href="https://stackoverflow.com/questions/2123871/how-do-i-save-a-composite-field-value-in-grails-gsp/">what you need to do to make it work in practice</a>.  </p>