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?

textmate