I have been a NetBeans and JDeveloper user for many years. I have used Eclipse on and off but can’t say that I have ever adopted Eclipse as such. Recently downloaded the new NetBeans 6.1 beta and was impressed. I already had the latest JDeveloper and Eclipse on my machine.
So thought why not put down a comparison of NetBeans 6.1 Beta, JDeveloper 11g Technology Preview 3, Eclipse IDE For Java EE (Europa Winter Maintenance Package). Following is a log of my observations. I do not claim to have done a thorough comparison or to have looked at each and every feature. I have just written the differences that I noted during my routine Java EE web development related work.
Download & Installation – The installation procedures for all three tools are simple enough. You either have to run an installer or have to extract a compressed file and you are ready to go. Downloading NetBeans and JDeveloper is easier than Eclipse as Eclipse has one of the most confusing websites around. 10s of projects and 100s of download possibilities.
Speed – JDeveloper took the most time to start while Eclipse took the least. NetBeans was a close second. Must add that NetBeans 6.1 is the fastest NetBeans I have used. I am running a Core2Duo, Windows Vista with 2GB RAM. Startup time has improved significantly and even after it starts, the UI is fast and responsive. Although I have installed the heaviest NetBeans available (185MB ‘All’ Package) I don’t find it sluggish. So it looks like NetBeans has sorted out the main issue on which it has got hammered over the years.
Look & Feel – The definition of a good look and feel varies from person to person. My view is that Eclipse is superior than both JDeveloper and NetBeans. Eclipse is fast, clean and crisp. NetBeans and JDeveloper are powerful but definitely not good looking.
JavaEE Ready – The NetBeans installer includes a Glassfish and a Tomcat server while Oracle JDeveloper comes with an embedded Oracle Application Server (OC4J). On both IDEs you can create JavaEE files like servlets, jsps and jsf, ejb and and run them without any additional installation or effort. NetBeans and JDeveloper also provided built-in support for everything I could think of, from UML, Web Services, BPEL tools to Refactoring, Reverse Engineering and the works. Eclipse for JEE was nowhere near. When you download the Eclipse version for JEE Developers, at a minimum you would expect your servlets to compile. They don’t. Eclipse comes with built-in adapters for integrating with IBM Oracle, ObjectWeb and JBoss servers but none for the JEE reference implementation, Glassfish. You need to separately download and configure the server adapter for Glassfish. Only after you configure the adapter does the Eclipse JEE version really starts to function.
Only IDE – A mouseover on the icon for Netbeans 6.1 pops up a message “The Only IDE you need”. That’s a bold statement to make, considering that Java developers take no prisoners when it comes to the Java IDE wars. I thought both JDeveloper and NetBeans were very close to being the only IDE you need. Eclipse unfortunately is nowhere near out-of-the-box. By Eclipse I mean the Eclipse available on the Eclipse site and not Eclipse based distros or Eclipse based tools from vendors like BEA, IBM, MyEclipse, Codegear, etc. These tools are far easier and friendlier to use than the Eclipse downloads. One wonders if the Eclipse downloads are intentionally kept incomplete so as to not compete with Eclipse based products from Eclipse partners. Codegear for example has a study put up on their site which provides stats showing how all Eclipse based IDEs are superior to the Eclipse you get from the Eclipse site. Perhaps this is the reason why Eclipse downloads will never be ready-to-go / out of the box.
Third Party Tools and Plugins – Eclipse has a far superior range of plugins available than those available for NetBeans and JDeveloper. All popular tools have some kind of Eclipse plugin available and even creators of lesser known tools and frameworks make it a point to build an Eclipse plugin for their software. These third party plugins are the strongest factor working in favor of Eclipse. With NetBeans and JDeveloper most of the plugins come from Sun and Oracle respectively.
Development Environment For Teams – You make the installers for NetBeans 6.1 or JDeveloper 11g available to all members in the team and you can be fairly sure that most if not all your JEE stuff will work on all machines. With Eclipse for JEE you invariably have to download several missing and additional components before you have a development environment ready. As most in the developing world are using slow internet connections if any, having to download missing plugins and adapters is very irritating.
Hand Holding – NetBeans 6.1 seems willing to hold your hand and help you along the Java EE learning curve. The IDE comes with sample applications for EJB, UML, JSF. This is a useful feature of NetBeans because when you start using an IDE you aren’t sure how the IDE organizes stuff and what a real application developed in the IDE will look like. With NetBeans you can create and run a proper Java EE app in about 3 clicks and then analyze how it is created and organized by the IDE. Eclipse and JDeveloper also have good documentation but having a range of sample applications is a plus for NetBeans.
JSF Support – Visual Web JSF is pitched as an important feature of NetBeans. I did not like it much as it seemed like a NetBeans specific thing. For non visual web JSF, NetBeans did not have any special features. The faces-config.xml editor in NetBeans was not that great. It works better for visual web JSF than for other JSF. JDeveloper is the best equipped for JSF development. Unlike NetBeans, the bindings and beans generated by JDeveloper did not use any Oracle or JDeveloper specific libraries. Also visual editing for JSF in JDeveloper seems the most advanced. Eclipse has a decent JSF support and faces-config.xml editor.
1. If you are just starting with JEE, I would suggest that you go with the full version of NetBeans 6.1.
2. If you use a lot of other Oracle software in the organization, JDeveloper makes it easiest to bring all things together.
3. If you are IDE neutral at the start of a project, I will suggest that you choose between NetBeans and JDeveloper.
4. On projects where you have Eclipse familiarity on the team and will be using plugins for tools / frameworks, go for an Eclipse based commercial IDE if you have the budget for it. If not use an Eclipse distro. Would recommend against using the Eclipse JEE download and then trying to build the Eclipse IDE you require. This can be especially painful if you have a large team.
About the Author :
* Eclipse is focused on closing in on Visual Studio – Switching campaigns are for market followers
* JDeveloper is the most comprehensive Java IDE available
* NetBeans was the early bird but has Eclipse caught the worm?