RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Eclipse, NetBeans, and IntelliJ: Assessing the Survivors of the Java IDE Wars : Page 5

Get a comprehensive comparison of the latest versions of the major IDEs in the Java development space: NetBeans, Eclipse/MyEclipse, and IntelliJ IDEA. Find out how well each performs in four common areas of development: Swing, JSP/Struts, JavaServer Faces, and J2EE/EJB 3.0.

IDE Strengths by Development Area
I will be the first one to admit that no review is perfect. The respective team behind each IDE probably could make counterarguments to the many points in this article. It is simply impossible to evaluate all the possible development needs (and this review barely covered topics such as RCP, UML, JUnit, and reporting support), so obviously your choice of IDE should be based heavily on the particular Java technology with which you are most comfortable.

Each of the IDEs reviewed here can do an admirable job in pretty much every facet of Java development. However, some are better than others, depending on whether you are doing Swing, web, or enterprise development. So I organized the review summary into these subject areas.

Swing Development
If your shop specializes in Swing development, NetBeans is definitely the way to go. Matisse is simply way ahead of the competition. If for corporate reasons you have no choice but Eclipse, then I definitely suggest MyEclipse with its Matisse4Eclipse builder. After those two choices, I would rate IDEA (due to its support for JGoodies Forms) next and Eclipse's default Visual Editor dead last—way behind any competition. It should simply be avoided, period.

JSP/Struts Development
Things are a lot more heated here. I would give a clear advantage to IDEA, followed by MyEclipse, and then NetBeans. Due to lack of build-in Struts support, the base distribution of Eclipse isn't much of a contender.

JSF Development
The three are in quite a tight race in this category as well. Once again, I feel IDEA comes out on top here, followed closely by Eclipse/MyEclipse, and the basic support offered by NetBeans in last place. Admittedly, this ranking would look a lot different if you take the NetBeans Visual Web Pack into consideration (assuming its limitations are acceptable), which would move it into the front of the pack.

Enterprise Development
For JPA support, I would rank NetBeans first (simply due to the quality of its generated code and support for properly setting up the persistence units), followed by IDEA, and lastly the still limited functionality of Eclipse's Dali project. If you are willing to abandon the standard JPA approach and accept straight Hibernate as an alternative, then MyEclipse becomes a worthwhile contender as well.

For enterprise development, I'd say IDEA wins out with its rich support for both J2EE and Java EE 5, followed closely by NetBeans (which also does an impressive job here), and last is Eclipse/MyEclipse (mostly due to their current lack of support for Java EE 5).

Ignore .NET at Your Own Peril
If Eclipse is the 800lb. gorilla of Java IDEs, Microsoft is a menacing 10-ton King Kong somewhere in the background. As someone who has done a lot of work in C#/.NET in the past few years, I keep quite up to date on what Microsoft is doing in .NET 3.0 and its next version of Visual Studio (codenamed "Orcas"). I hope none of the Java IDE vendors are getting too comfortable and resting on their laurels, because Microsoft is putting a massive amount of R&D effort in both libraries and development tools. Thus, the Java ecosystem can remain healthy only if it can match that (or even better, exceed it as in my humble opinion it has done with Matisse, JPA, and EJB 3.0).

Companies and technologies that have ignored Microsoft's impact have usually ended up in the dustbin of IT history (and I write that as an ex-Sybase/PowerBuilder developer who has seen a once great tool mercilessly crushed under the weight of both its own mistakes and Microsoft's seemingly never-ending resources). I am very glad to see that the mistaken old Java mentality of "release the APIs first and then wait for the development tools of varying quality to appear much later" is being aggressively replaced with "release the APIs and world-class development tools for them as soon as possible", since that is exactly what Microsoft has been doing for years.

Jacek Furmankiewicz is a Senior Java EE and Erlang/OTP developer at Radialpoint. He has 15 years of professional IT experience and is a Sun Certified Java Programmer (SCJP).
Email AuthorEmail Author
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date