The Grails 1.1 IDE Smackdown

Java developers have always enjoyed the luxury of choice whether it be libraries, application servers, or IDEs.  On the heals of the latest Grails 1.1 release, I thought I'd take a look at how the top three IDEs stack up against each other.

There are three dominant IDEs in the Java space:  Eclipse, NetBeans, and IntelliJ.  Each of these boasts Grails' support, but not all of them do it well.  If you've only used one IDE for the past couple of years, I recommend you take the time to download a few alternatives and kick the tires a bit.  You may like what you see, and you're guaranteed to gain a new perspective on things.

IDE Breakdown

The top three Java IDEs were evaluated based upon their basic support for Grails 1.1.  Maven integration was not taken into consideration.

Eclipse

Eclipse has earned a poor reputation in the Grails community because of it's buggy support of the 1.0.x Grails releases and it doesn't fair any better with Grails 1.1.  In fact, it's worse.  After much tweaking as outlined here, you may get a Grails 1.1 project to run.  While merrily attempting to work on your Grails project, you'll notice poor editor support and intermittent errors.  If you install plugins you'll soon notice it renders your project unusable.

Like it or not, Eclipse is the dominant player in the IDE space.  SpringSource is hard at work developing a Grails plugin for it.  No time frame has been given as to its arrival, but the sooner the better.  Good Eclipse support will only serve to accelerate the adoption of Grails.  Until then, I recommend you avoid Eclipse for Grails development.

NetBeans

NetBeans has slowly and steadily been gaining traction and credibility with developers.  It seems to be carving out a niche for itself with it's good dynamic language support (Ruby, PHP, JavaScript, Groovy).  The current milestone release, NetBeans 6.7 M2, works well with Grails 1.1 and even supports plugins.  Many of the features you've come to expect when working with Java code may also be found in NetBeans’ Grails’ support.

What's NetBeans Lacking

Although its overall support of Grails is good, it is lacking in the following key areas:

  • GSP tag support
  • Debugging
  • Refactoring
  • Code completion (inaccuracies)
  • Code completion performance (delays)
IntelliJ

IntelliJ is the undisputed champion of the Grails community for all Grails 1.0.x releases, boasting support for code completion, debugging, refactoring, and GSP tags.  It provided all of the functionality you'd expect from any good Java IDE, but the recent release of Grails 1.1 has exposed a chink in IntelliJ's armor.  IntelliJ 8.1 is the only IDE being discussed in this article which is not open source nor is it freely available.  You may use it free for 30 days, but after that you will be required to pay $249 for a personal license and more if you are a business.  Right or wrong, with this price comes high expectations.  IntelliJ should be better than the free alternatives, but is it?

IntelliJ's current support of Grails 1.1 is lacking.  In fact, I've found it so frustrating to try and get a Grails 1.1 project working with IntelliJ that I've given up.  I continue to use it for all my Grails 1.0.x projects, but have moved to NetBeans for my Grails 1.1 development.  Plugins seem to cause all kinds of additional errors.

IntelliJ's slow pace in embracing Grails 1.1 support has created an interesting discussion on the Grails mailing list.  You may read it here.  In short, the majority of developers are a bit dismayed by JetBrains (the creators of IntelliJ) inability or unwillingness to stay up to date.  Being a non-free IDE, many developers expect more from JetBrains and rightly so.

And the Winner Is?

By default the winner is NetBeans 6.7 M2.  Neither Eclipse nor IntelliJ support Grails 1.1 well enough to be recommended.  With the recent push to have developers move to Grails 1.1, I'm a bit appalled by the state of the IDEs.  I expected more from JetBrains and am saddened by their lack of urgency.  Eclipse support is coming, we just don't know when.  NetBeans is getting there, but not there yet.  Over a year after the Grails 1.0 release, it feels like we're digressing.  Despite this bad news, I do view it as more of a "bump in the road", and believe that things should turn around by year's end if for no other reason than SpringSource will be releasing a Grails' plugin for Eclipse... right SpringSource?  Please?

What's been your IDE experience?

Comments:

textmate

by noisyheads on March 25, 2009 at 12:59 PM CDT
i've abandoned full-fledged ide's and moved to textmate. i'm starting to miss ctl-space, but heck it's much simpler to develop, plus i get to learn and re-learn the language and the framework ;)

IntelliJ 8.0.1 or 8.1

by Russ Rollins on March 25, 2009 at 1:08 PM CDT
http://www.grailsblog.com/archive/show?id=10

IntelliJ 8.1

by Dean Del Ponte on March 25, 2009 at 3:06 PM CDT
I've modified this article to make it clearer that when referring to IntelliJ, I'm referring to version 8.1.

release date

by David Castañeda on March 25, 2009 at 3:46 PM CDT
I'm facing the same problems but I think people (and you) should consider that http://grails.org/1.1+Release+Notes release was on March 10 2009. and you are complaining about this 10 business days after release day?

M2 vs EAP

by thevery on March 25, 2009 at 5:04 PM CDT
If you are referencing Milestone release, you should also try Idea EAP(as mentioned in mailing list) release, too: http://www.jetbrains.net/confluence/display/IDEADEV/Diana+EAP

IntelliJ - Diana EAP

by Dean Del Ponte on March 25, 2009 at 10:13 PM CDT
My apologies for not mentioning it in the article, but the early access release, Diana EAP, was also tested. More details at bottom of this thread: http://www.nabble.com/more-problems-with-Grails-1.1-for-IDE-support-td22702972.html#a22702972

gedit

by aeischeid on March 26, 2009 at 10:47 AM CDT
I have have been able to be most productive using gedit for Linux. http://www.grails.org/Gedit

SpringSource collaborative with netbeans team

by Anuradha G on March 27, 2009 at 7:05 AM CDT
How about SpringSource collaborative with Netbeans team to build lacking features ? everyone will benefited and help Grails adoption

Developer

by BlueSun on March 28, 2009 at 12:50 PM CDT
NetBeans = DeadBeans Sun has no chance to survive the current economic crisis. Everybody in the industry knows it. When IBM says no then game over for Sun. If IBM says yes "we will buy you" then it is game over for NetBeans.

JDeveloper

by BlueSun on March 28, 2009 at 12:55 PM CDT
Sorry a typo and I forgot something. What's about Oracle's JDeveloper-tools?

Broken?

by Mike on March 29, 2009 at 3:52 PM CDT
Tried to comment here but it seems to have been broken. Commented on the Nabble thread instead.

Comment Bug

by Dean Del Ponte on March 30, 2009 at 9:55 AM CDT
Comments size is limited to 250 characters. If exceeded, an inaccurate message is displayed. This bug will be fixed in the next release.

intellij 8.1.2

by Przemyslaw on July 1, 2009 at 5:12 AM CDT
Intellij 8.1.2 supports Grails 1.1.1 very well.

IntelliJ IDEA 8.1.3

by ks on July 22, 2009 at 3:54 PM CDT
I've been using IntelliJ IDEA 8.1.3 with Grails 1.1.1 for over a month with no problems. Great support.
Subject*
Name*
Comment*