Four Mac-based IDEs compared: Which should you choose?
We weigh the pros (great UI, ease of use) and cons (no JDK 1.1) of the Mac as a Java development platform
By Dave Makower, JavaWorld.com, 09/01/97
When Java first appeared on the scene (way back in 1995), Macintosh support for the new language was non-existent, and Sun's
plans for porting Java to the Mac were vague and non-committal. By 1996, with the release of the first generation of Mac-hosted
Java integrated development environments (IDEs), things had improved somewhat -- at least there was
something that would run on a Mac -- but the situation was far from ideal. (In August 1996,
JavaWorldpublished my article, "
March of the Mac IDEs," a comparative review of some of those IDEs.) The first crop of tools were, at best, beta quality, and many who would rather
have worked on their trusty Macs found themselves switching to PCs, and even Unix boxes, for their Java development. Moving
to the PC wasn't
that bad; after all, there are a wide variety of IDEs for the PC. Unix developers aren't quite that fortunate, but at least most
Unix platforms support version 1.1 of the Java platform, something Mac Java developers are still waiting (sometimes quite
impatiently) for.
Mac developers no longer have to be content with the beta-quality IDEs of the past; however, these same developers are, just
the same, experiencing an uneasy feeling of déjà vuas the rest of the development world is starting to cut its teeth on JDK 1.1.3. With the viability of the Mac OS as a Java
development platform in question, some of us are still doggedly determined to prove that Java can fulfill its promise as a
cross-platform language, allowing us to work where we feel most comfortable, where we are most efficient, and most of all,
where we are happiest -- the Mac OS.
In an effort to determine just how viable a platform the Mac is for Java development, I conducted a comparative review of
Mac-hosted Java IDEs. I focused on tools currently that are available in final-release versions for the Mac platform, avoiding
those that are either still in alpha (such as Marimba's Bongo GUI development environment), or beta (such as Visix Vibe),
and those that require Java 1.1 in order to work (such as JavaSoft's Java Workshop). Also, although I did not review Apple's
Macintosh Runtime for Java (MRJ) as a development tool -- it's not an IDE -- I did include it in performance tests, because
most of the tools are moving toward replacing their built-in VMs with MRJs. See the sidebar Apple Mac OS Runtime for Java (MRJ) for more information on MRJ.
If you just can't wait to see how the tools fared, take a look at the following table, which provides a quick rundown of each
tool's features. Each of the tools, along with the company contact information, is listed in the Resources section of this article.
|
Roaster
|
Cafe
|
Visual Cafe
|
CodeWarrior Pro/ Discover Programming for Macintosh
|
| Price
|
9 |
9.95 |
99.95 |
CodeWarrior Pro: 99
Discover Programming for Macintosh: 9
|
| Pros
|
Superior user interface; fastest JIT; reasonable VM performance; great debugger; supports duplicate filenames |
Fastest compiler |
Most advanced GUI development support; moving toward support for Java Beans |
Excellent user interface; most stable VM; very fast JIT; best support for native methods; support for Object Pascal, C, C++;
CodeWarrior Pro includes tools for Windows 95/NT; Discover Programming for Macintosh is very inexpensive
|
| Cons
|
JIT is still beta; VM not as solid as CodeWarrior; no JDK 1.1 support until MRJ 2.0
|
Poor support for application development; no JDK 1.1 support; outdated documentation |
Major stability problems, inadequate documentation |
User interface cluttered by C, C++, Pascal features, CodeWarrior Pro is not cheap; can't develop commercial software with
Discover Programming
|
| Create Double- Clickable Apps from IDE
|
Yes |
No |
No |
Yes (requires CodeWarrior VM) |
| Free Trial Version Available
|
Yes |
No |
Yes |
No |
| Native Method Support
|
No |
No |
No |
Yes |
| JDK 1.1 Support
|
Dependent on MRJ 2.0 (not yet released) |
None |
Dependent on MRJ 2.0 (not yet released) |
Pre-release Metrowerks VM available |
| Includes JIT
|
Yes (beta quality) |
Yes |
Yes |
Yes |
| 68K Support
|
Yes |
Yes (no JIT for 68K) |
No |
Yes (no JIT for 68K) |
| Extras
|
Comes with ObjectStore PSE, ObjectSpace JGL, OpenLink database connectivity software, Netscape's IFC |
Comes with Introduction to Java in PDF format
|
Includes libraries of useful GUI widgets |
Both CodeWarrior Pro and Discover Programming include Learn Java on the Macintosh (and several other books on C, C++, etc.) in PDF format, ObjectStore PSE, ObjectSpace JGL, Netscape's IFC
|
| Bottom Line
|
If you develop on the Mac because having a good user interface is important to you, Roaster is an excellent choice for Java
development.
|
If Symantec wants to keep discerning Mac developers interested in its tools, it needs to think about upgrading Cafe, or discontinuing
it in favor of Visual Cafe.
|
Visual Cafe is an ambitious product that has not yet realized its potential. |
CodeWarrior Pro is the premiere power tool for Mac-hosted development in any language. For those just starting out, there
is no better deal than Discover Programming for Macintosh.
|
The tools -- an overview
This section provides an overview of all the tools I reviewed. As I mentioned earlier, I chose only those tools that are in
final release. Here's a list of those tools that made the cut:
- CodeWarrior Professional/Discover Programming for Macintosh from Metrowerks
- Roaster 3.0 from Roaster Technologies
- Cafe 1.5 and Visual Cafe 1.0.1 from Symantec
Metrowerks CodeWarrior Professional/Discover Programming for Macintosh
Click image for expanded view (77K)
In the foreground is CodeWarrior Pro's clas browser, with the toolbar above it. Behind that, the class hierarchy viewer is visible, and in the background, CodeWarrior's project manager.
|
With CodeWarrior Pro Release 1 (sometimes referred to as CodeWarrior 12), Metrowerks has merged its Mac-hosted and PC-hosted
development environments into one package, replacing the separate versions of CodeWarrior previously available for Mac and
Windows. Included on the three CodeWarrior Pro CDs are compilers for several languages in addition to Java, including Object
Pascal, C, and C++, all of which are hosted within a new version (2.0) of the CodeWarrior IDE. The project formats are not
yet the same across platforms, so Mac users and PC users can't currently share CodeWarrior project files.
Resources