Agenda Introduction NetBeans history Installation The editing experience Enterprise tools Plug-ins Final rating
Introduction There is perhaps no area of programming tools where competition is as intense as in the Java IDE market. Even though there are only four primary players – Eclipse, NetBeans, IntelliJ IDEA, and Oracle JDeveloper (Rational and CodeGearJBuilder build on Eclipse) -- all vendors except Oracle watch their competitors intently and rush to add new differentiating features. (Oracle's product is primarily aimed at internal use and at buyers of the company's Fusion Middleware stack.) The competition is most intense between Eclipse, NetBeans, and IntelliJ IDEA, likely because those products have the most active communities of users and those users tend to be personally attached to their preferred environment. Of the three, only Eclipse and NetBeans are free and open source.
NetBeans history NetBeans was first released by Sun in 1999, after it was acquired from a Czech firm; it was open-sourced a year later. During most of the intervening years, NetBeans has been an inferior product to Eclipse. Sun finally got the message and during much of 2007 it completely revamped the IDE's editing functionality. In a fit of surprising candor, the project leads specifically announced that their goal was to provide an editing experience similar in quality to that of IntelliJIDEA NetBeans 6.0 fulfills much of this mandate and has really elevated itself into the same tier as Eclipse. For the first time, serious Java developers have a true choice when it comes to free
Installation Eclipse installation consists of unzipping a download file. As long as you have Java 5 installed on your system, simply clicking on the Eclipse icon will get you started. Once you do, however, you are confronted with an annoyance particular to Eclipse -- workspaces. A dialog box appears and asks you to specify your workspace, which is defined in this dialog as the place where Eclipse will put your projects. Why do you need a workspace and what pieces of your projects go there?
Installation Installing NetBeans is better but not without dips in the road. For example, if at the time of installation on Windows, the JDK is not specifically located in C:Program FilesJava, the installation fails with a dialog stating that no instance of the JDK was found. Once installed, NetBeans is easier than Eclipse to load with an existing project. A wizard pops up asking for the directory tree for code and for tests and it intelligently loads both. You need only specify any needed libraries it doesn't know about. You can have projects anywhere on your disk. Like most Java IDEs, NetBeans has no equivalent of the Eclipse concept of a workspace and imposes no similar requirement on the location of your project files.
The editing experience Eclipse has the more visually appealing interface of NetBeans. Eclipse uses other designs that are unique among Java IDEs: it principal one being the concept of perspectives. The idea is that you can click to a new perspective and all of your windows will change to a new context. So, you could go from a Java perspective to a debugging perspective and all (or many) of the windows in the IDE change from editing support to debugging tasks. NetBeans and other Java environments generally merge new windows into tabbed panes inside the currently open windows.
The editing experience As to the pure coding experience, both IDEs have many helpful features. It is not likely that you will need to do something in Java code that you cannot do comfortably in either IDE. This is one of the reasons that Java IDEs are envied by developers working in other programming languages,
Enterprise tools Enterprise tools include functions normally used by larger businesses. These include modeling and reporting. The delivery mechanism for these tools highlights the difference in approach between the two IDEs. NetBeans tends to bundle, while Eclipse tends to make "platforms" available. Eclipse has no competition from NetBeans when it comes to reporting. Eclipse's Business Intelligence and Reporting Tools (BIRT) is an extensive system for formatting and generating reports and other documents that can be embedded in enterprise applications.
Enterprise tools when it comes to UML modeling, NetBeans has a built-in modeling tool that supports UML (including use case, class, collaboration, sequence, and activity diagrams). Code can be abstracted into a UML diagram, and UMLs converted to code. Eclipse, by comparison, offers the Enterprise Modeling Framework (EMF), which is a platform for building tools, and the graphical editor framework (GEF). If you install both of these packages, then configure them, you'll be ready to start modeling your enterprise architecture in UML. You'll have more features than you would in NetBeans, but you'll work harder to get them installed, configured, and running.
Plug-ins Eclipse dominates in all aspects of plugins. This leadership position derives from two smart decisions its caretakers made several years ago: The first was to port the Eclipse OSGiframework (formerly Open Services Gateway Initiative), which is designed to make writing new plugins particularly easy. Second was IBM's decision to spin off Eclipse, making it easier for the IDE to attract partners. Both moves succeeded brilliantly and Eclipse now enjoys a commanding lead in both open source and commercial plugins. Because NetBeans is associated with Sun and does not use an OSGi-style architecture, its ecosystem of plugins will likely always be smaller than Eclipse's -- even if its market share improves substantially.