NetBeans 5.0 is a substantial upgrade to what was already a very solid IDE. This release reveals many new features, enhancements,
and a slight repositioning, as Sun attempts to shine the spotlight on aspects that take NetBeans beyond the pure-play IDE.

NetBeans 5.0
Sun Microsystems, netbeans.org
|
Very Good 8.1 |
 |
| criteria |
score |
weight |
| Features |
8 |
40% |
 |
| Ease-of-use |
9 |
20% |
 |
| Integration |
7 |
20% |
 |
| Performance |
8 |
10% |
 |
| Value |
9 |
10% |
 |
|
 |
Cost: Free, open source (Sun Public License)
Platforms: Windows, Linux, Mac OS X, Solaris (SPARC and x86)
Bottom Line: NetBeans 5.0 is an intuitive, well-designed Java development platform with superb collaboration capabilities and several remarkable
features, including the new Matisse GUI builder. The limited number of plug-ins hamper wider acceptance, however, and some
of the new features have rough edges.
|
 |
About our Reviews and Scoring Methodology
|
|
|
|
Several NetBeans features lack direct counterparts in competing products, so it will be of great interest to sites that have
specific needs such as designing GUIs for desktop Java applications and intensive collaboration requirements. However, I found
that implementation details sometimes lacked care and attention to detail, resulting in a few rough edges.
Into the IDE
The NetBeans IDE is a well-designed environment for developing Java. It is more intuitive than Eclipse and, as opposed to
that product, it does not get in the way of developing. You can create a complex project, code away, import resources, and
build and debug the executable in NetBeans without ever looking at tutorials or consulting the help system. That’s an almost
impossible feat for a first-time user in Eclipse.
NetBeans 5.0 has a large set of refactorings, extensive code completion, CVS (Concurrent Versions System) support integrated
within the core IDE (support for Subversion is available by free plug-in), and practical, easily customized templates that
convert short escape sequences into entire routines. These features are found in other IDEs as well, but I found their implementation
in NetBeans particularly intuitive.
As do most Java IDEs today, NetBeans indicates errors and incomplete statements as you type in a manner comparable to the
IntelliSense feature in Microsoft’s Visual Studio. Unfortunately, the error indicator lacks finesse in NetBeans. For example,
the simple omission of a semicolon at the end of a line of code results in the entire line of code being highlighted, rather
than just the errant end of the line. This is a small complaint, but along with some other minor misbehaving features, such
as incorrect printing of files to HTML, it occasionally gives the IDE an unfinished feel.
NetBeans does have some innovative features at this basic level: The project metadata format is an Ant file (Ant is the default
build utility in Java), which makes it possible for users of other IDEs to load up a project developed in NetBeans and make
changes, even if they don’t have the product.
Enterprise Java is well supported. NetBeans bundles Apache Tomcat, which can be started, stopped, and administered from within
the IDE. J2EE servers -- such as WebLogic, JBoss, and soon IBM WebSphere -- are supported in similar fashion, and NetBeans
can deploy Web apps to those servers correctly -- it knows where files need to go and what the server expects in terms of
configuration.
These capabilities illustrate a basic tenet of NetBeans: Tools are integrated such that you never have to leave the environment
to perform development-related work. You’ll also find an integrated database explorer and an HTTP inspector (to see what data
is sent to the Web app and exactly what data is returned), among other bundled tools.
The true jewels
NetBeans 5.0 also provides a built-in code profiler, automatic collaboration, and a brand-new, state-of-the-art GUI form builder.
These three crown jewels distinguish NetBeans from other Java IDEs.
The performance profiler is integrated into the IDE and presents data on the running program, including a timing profile for
every thread and a memory-usage profile for the entire app.
This data is invaluable in tuning code and is generally provided by third-party tools, such as those from Quest and Compuware.
In NetBeans, it’s a mere button click. The resulting data can be stored in a snapshot for comparison with previous or future
runs.
The collaboration tools are almost automatic. When you start up the IDE, you can elect to be immediately logged on to an IM-like
service, allowing you to contact other team members and easily share code and development artifacts without leaving the NetBeans
environment.
This integrated collaboration is an elegant way of extending the idea of NetBeans as the principal home environment for developers.
Currently, the collaboration service is hosted by Sun, and team members must have log-ons for that specific server -- log-ons
are provided at no cost. Companies that want to host their own collaboration servers for security purposes need to run Sun’s
Java Studio Enterprise, which is a free -- but closed source -- enterprise-oriented IDE based on NetBeans.
Version 5.0’s new GUI builder, code-named Project Matisse, greatly assists developers in designing Swing-based forms and screens.
It uses the usual metaphor of dragging and dropping controls and widgets from a palette onto a screen.
However, Matisse adds pop-up guide bars and manages the location of controls as prescribed. New fields are automatically aligned
with existing fields, and changes to one item result in the necessary changes to the others, so the endless tweaking of forms
to get them to look exactly right is now a thing of the past. With Matisse, you drag, you drop, and the form comes out correctly
on the first try. This feature alone makes NetBeans worth having.
Sun has made clear its plans to morph NetBeans into a platform and not limit it to being just a Java IDE. For example, an
upcoming release of NetBeans will formalize support for C/C++ and offer a separate “enterprise pack” that includes UML modeling
capabilities and SOA tooling. These innovative features, and an appealing road map for future functionality, show that Sun
is aggressively working on NetBeans. If the company can attract greater vendor participation via the development of plug-ins
and polish NetBeans’ features a little further, this IDE will easily become Eclipse’s principal rival.