Java IDEs – NetBeans vs Eclipse vs JDeveloper
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.
Verdict –
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 :
Harshad Oak, founder of Rightrix Solutions and the editor of IndicThreads.com. He is author of 3 Java books, several articles and is an Oracle ACE Director and a Sun Java Champion.
Related:
* 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?
Cool.
Quite useful, thank you
thak you, very clear and simple.
Well done!
I am staring up a project that will acess data through a java API, so The app will be written in Java. I am a veteran of JDeveloper and Sun Java Creator IDEs, but have not written java in a while. I found that Creator had been dropped by Sun who further developed NetBeans.
I read thei article to help me make up my mind between trying netbeans over JDeveloper. The project is Oracle based and I have a lot of experience with Oracle databases. I think I will try to go with the latest JDeveloper, partly out of familiarity, However, I will keep Netbeans as an option in the back of my mind.
Good job!!
I am new to java and I was wondering what eclipse, NetbBeans, etc., other stuff really are, but thanks to your article.
Now I am goin to download NetbBeans.
Keep your good work going on!!
Great article. I think your spot on. Each IDE has its pros and cons and you take care to point them out. I’m interested in hearing what people like/dislike in an IDE. Comments like “Eclipse is the best IDE of all without any doubt and discussion” are unless because they don’t explain why.
I favour Netbeans but I also have eclipse installed and use it when NB can’t do something eclipse can. People who say X IDE is crap or X IDE is the only
After hearing a lot about the popularity of eclipse four years ago I decided to give it a try. I failed to properly install it after struggling over a hour, not to mention executing my first eclipse project. Then I came across Netbeans. I downloaded and installed it within clicks. Over the four years I learn and grow into an experienced Java developer along with Netbeans and the Java technologies. Meanwhile I did J2EE and J2ME projects and I collaborated with my team members (some of them using eclipse) over the same project code with subversion flawlessly. Recently I worked in another company where eclipse is popular. I decided to give the present day eclipse Helios a try. This time I could install it smoothly. Yet I didn’t find the control more intuitive. For example, after creating a web project, I still have to explicitly turn to that perspective to see the project. Another annoying thing is that by default it does not provide a separate place to keep test program files. I knew that my eclipse colleagues did finally overcome this. But that took their time and effort. In Netbeans test program files are maintained separately, somewhat like Maven. Perhaps I become biased due to my experience with nb. Still I don’t see a good reason why I’ll increase my productivity by turning to eclipse now.
I had been using Netbeans for a while, by my company for some reason, decided that Netbeans was not a good standard??? So I started working with Eclipse, I agree with you, it was hard to set up and took a while to get started. Nice interface though. Then I downloaded JDeveloper. Big download (>1G), but I think it was worth it. Very nice and I was able to suck in all my projects without a problem. Thumbs up for JDeveloper!
We started with testing of netbeans for our development team. This worked great except for one big problem. The UML plugin is no longer available. The refer to Visual Paradigm's SDE for NetBeans. Of course this isn't a free package – actually it's quiet expensive – and therefor not suited for this situation. We probably switch to JDeveloper now.
Strange move from Netbeans.
I have used Eclipse, MyEclipse, IntelliJ and NetBeans, I would say,I have used it thoroughly. Thumb is up for MyEclipse, then Eclipse. NetBeans and IDEA are nowhere near to Eclipse. Eclipse is the best IDE of all without any doubt and discussion.
I have used Eclipse, MyEclipse, IntelliJ and NetBeans, I would say,I have used it thoroughly. Thumb is up for MyEclipse, then Eclipse. NetBeans and IDEA are nowhere near to Eclipse. Eclipse is the best IDE of all without any doubt and discussion.
this must be a joke
Jdeveloper is most professional for enterprise web apps while netbeans is very good for Java SE. I succesfully used jdeveloper with mysql for business app running on tomcat efficiently.
Jdeveloper is most professional for enterprise web apps while netbeans is very good for Java SE. I succesfully used jdeveloper with mysql for business app running on tomcat efficiently.
A very useful review, cheers; Even for us PHP coders I think Netbeans takes the lead.
A very useful review, cheers; Even for us PHP coders I think Netbeans takes the lead.
Netbeans has the best maven plugin ever. your maven projects are recognized automatically as native netbeans projects.
You forgot to mention the integrated java profiler.
If you run netbeans on solaris you have the dtrace plugin….
Netbeans has the best maven plugin ever. your maven projects are recognized automatically as native netbeans projects.
You forgot to mention the integrated java profiler.
If you run netbeans on solaris you have the dtrace plugin….
Interesting article. All I would add is that Eclipse needs to be compared with the JBOSS Tools plugins, and if you do that there will be parity in functionality for the most part between JDeveloper and Eclipse.
Interesting article. All I would add is that Eclipse needs to be compared with the JBOSS Tools plugins, and if you do that there will be parity in functionality for the most part between JDeveloper and Eclipse.