Many folks will tell you all you really need to start developing with Java is a text editor. Now you may call me spoiled, but I really couldn't imagine doing it that way, unless I just hated myself-especially considering all the great IDEs that are available out there. I scoured the Web, downloaded 15 IDEs for inspection, and selected the best to present here in Builder.com's free Java IDE roundup.
The perfect IDE
So what features make up the perfect Java IDE? In addition to an editor with colored syntax highlighting, integrated debugger, and compiler, which were standard in all the IDEs in this roundup, I looked for the following features:
- The ability to attach the debugger to a process running on another machine
- Code completion pop-ups similar to IntelliSense or CodeComplete
- Support for a third-party source code control or change verification system such as SourceSafe
- A class browser
- A GUI designer
- Support for switching between different versions of the JDK
- A JAR builder
- A Java Bean wizard capable of automating at least part of the process of building a Bean
My judging was based primarily on the presence or absence of the above features in a given product, along with a subjective measure of the IDE's polish, completeness, and look and feel. Keeping an eye on budgetary concerns in today's economic climate, I also limited my selections to products with free "lite" or freeware versions. This consideration had the effect of excluding products from Metrowerks (CodeWarrior) and Oracle (JDeveloper).Our top choices
Check Figure A for a side-by-side feature comparison of my top nine choices and then read on for my impressions of and comments on each product.
|IDE feature comparison|
Borland JBuilder 4
JBuilder simply sets the standard, including every feature I was looking for in this review. JBuilder's method pop-up and code completion features are excellent; the editor will even add missing semicolons for you. The GUI editor is two-way; changes made to the underlying code are reflected in the editor.
Other nice features include an integrated change manager and automatic JavaDoc generation. My only gripes lie with the performance: Its startup time is inordinately long, and JBuilder often lags badly when changing from source editor to some other mode. The Foundation edition is free from Borland but lacks many features offered by the more upscale Enterprise Edition.
IBM VisualAge for Java 3.5
VisualAge offers some impressive features, including code fragment execution, an integrated change manager system, customizable macros, a powerful debugger, and an exhaustive suite of additional modules for extending VisualAge's functionality. However, a lot of VisualAge's goodies are hidden behind a sometimes-confusing UI, and it often demands extra work from the programmer, like manually saving files before debugging. Also, because VisualAge stores code in object form in a repository instead of as raw source files, saving code with certain types of errors is impossible: It's as if IBM expects a programmer to save only completed code. The Entry Edition is a free, fully functional product supporting a maximum of 750 classes, offered as a modular download so developers can download only the tools they need.
DataRepresentations Simplicity for Java
Simplicity is a nice IDE with some outstanding features-and a few quirks. Simplicity sports numerous code generation wizards, collectively referred to as "sourcerers," a first-rate GUI editor, and a powerful code completion feature. Simplicity's designers appear infatuated with so-called declarative programming: setting properties using dialogs instead of typing code. The downside is that all these features are implemented just unusually enough to make Simplicity require some getting used to. A free evaluation version and a Palm development version are available at the publisher's Web site.
Forte has all the features we're looking for, with the odd exception of JDK version switching; plus, it's open source, which is sure to please some developers. Forte's editor and method pop-up feature are wonderful, nearly rivaling those found in JBuilder. However, Forte has some extreme performance problems: Starting the IDE consists of clicking the icon and then going out for coffee and doughnuts while it starts. The Community Edition is available as a free, relatively small (~8-MB) download.
Kawa is aimed at server-side developers, and as such, lacks a GUI editor. The source-editing features are excellent, even including a spell-checker, and the debugger appears very sophisticated. Kawa is also long on customizability, with a JavaBeans-based extensibility API. What Kawa does, it does very well. However, the lack of a GUI editor will likely make it unacceptable as a one-stop IDE. Kawa is available as a limited-time trial download from Allaire.
BulletProof JDesigner Pro
JDesigner is meant for developers who need tight integration with a database. It sports built-in SQL generators, various data manipulation classes, and a wizard for connecting to both ODBC and nonODBC-compliant databases. Additionally, BulletProof was the only vendor to make follow-up contact with me after I downloaded the limited-time trial version. Unfortunately, JDesigner appears to be an excellent example of how truly innovative ideas can be ruined by poor execution. The tabbed UI is frustrating and feels unfinished; I was never able to get the debugger to start; and it even seems impossible to select and copy text from JDesigner's help file.
JCreator is a freeware package with a very polished, Visual C++-like look and feel. It includes some innovative features, including a file-splitter utility for dividing files containing multiple classes into individual files, one per class. Lacking many enterprise-level features, JCreator would still appear to be ideal for single-person or small-team development, especially considering the price tag. A new version promising new features is scheduled for beta release in March and may be available as you read this.
One product missing from our list is WebGain VisualCafe. I was really looking forward to reviewing VisualCafe for this article, but unfortunately, the download feature of WebGain's Web site did not appear to be working on any of the several occasions I tried to use it. But you're welcome to try your luck and check out VisualCafe's feature list at WebGain's Web site.
Many options for developers
One unfortunate trend I noticed while reviewing titles for this article was poor performance on the part of those products developed in Java, exacerbated by the fact that the Java-based IDEs wore this distinction like a badge of honor. Forte suffered in particular, while making the loudest claims of being "100% Java."
Although the undisputed winner in my book is Borland's offering, any of the top four products featured here would make good choices for a one-stop IDE. The others offer more specialized features of interest to certain developers. The addition of some of the missing features to these products-a GUI editor for Kawa and a UI redesign for JDesigner-could shake things up quite a bit. Until that time, though, I'll be happily pecking away with JBuilder.