There’s a war raging between Java integrated development environments and there’s no shortage of combatants. But NetBeans 4.1 has some not-so-secret weapons, and its arsenal of features grows by the day. Here’s a hands-on review.
There is a war raging between Java integrated development environments (IDEs) and the combat is fierce, fast, and furious.
In one theater of battle, open source tools such as Eclipse.org’s (nee IBM’s) Eclipse and NetBeans.org’s (originally Sun’s) NetBeans are aligned, skirmishing against proprietary products, including Borland’s JBuilder, MindBrain’s IntelliJ, and Oracle’s JDeveloper. Both sides are on the offensive. The open source IDEs have started to deliver visual drag-and-drop screen creation, remote and local debugging, and built-in refactoring aids that resemble some the best features provided by proprietary tools. On the other side of the combat line, the proprietary vendors are now delivering even more features, such as profiling, UML system modeling tools, and ever more clever J2EE automatic code generation wizards, among other innovations.
On another front, the two open source IDEs are skirmishing with one another: Eclipse and NetBeans continue to push one another back and forth across No Man’s Land with a seemingly unending stream of releases. In the past six months alone, I’ve reviewed NetBeans 3.6, NetBeans 4.0, Java Studio Creator (based on NetBeans 4.0 and incorporating a Java Server Faces forms designer and more), and now NetBeans 4.1. Eclipse continues to gather allies, with heavy hitters like BEA, Borland, and Macromedia providing plug-ins (Beehive, Peloton, and Zorn, respectively) that expand Eclipse’s arsenal. But NetBeans isn’t surrendering: nearly 100 NetBeans plug-ins are now available, covering everything from AspectJ integration to Java 2 Mobile Edition (J2ME) development.
But the NetBeans 4.1 graphical user interface (GUI) designer gives NetBeans an edge over Eclipse. While you can get Eclipse plug-ins for visual design, NetBeans 4.1 raises the stakes again with Matisse, which makes layout, spacing, and alignment of form components intuitive and natural. (NetBeans’s designer creates applets and application interfaces, not web application interfaces. However, if you’re using Struts, see James Holmes’s Struts Console plug-in at http://www.jamesholmes.com/struts/; if you’re using Java Server Faces, try Sun’s very adept Java Studio Creator, a bargain at $99 and based on NetBeans 4.0.) Moreover, Linux developers working on J2ME mobile applications must try NetBeans’s Mobility Pack and the J2MEWTK 1.0.4 plug-in (both from Sun).
For direct-in-the-IDE support of easy visual development, NetBeans is starting to eclipse (pardon the pun) many open source and proprietary Java IDEs.
The NetBeans Visual Advantage
As a developer, I like the organization of NetBeans’s panels. (See Figure One.)
The “Project” panel displays a tree of all the files and resources associated with a program, while the “Navigator” panel supplies a tree view of all the Java classes and imports used in a program. The “Files” and “Favorites” panels provide useful schematics of the exact file layout for a project and a way to refer to folders outside the project. In the “Design” window, the new Matisse features are very useful for GUI layout, but require a substantial learning curve.
I found “Favorites” a little clumsy — I’d prefer a full file explorer — but NetBeans makes up for this shortcoming with its “Property” panel. The “Property” panel is very helpful: just about every object in every panel has a series of properties that can be viewed and, in quite a few instances, changed.