Free Java IDEs give you more than you paid for
Free Java IDEs give you more than you paid for
Three development tools mesh with languages and systems differentlyBY KEVIN JONAH
| SPECIAL TO GCN
Novice Java developers rarely invest money in an integrated development environment.
They simply download the free Java Software Developer's Kit from java.sun.com
, crank up a favorite text editor such as Emacs, vi or Windows Notepad, and start coding.
But for team developers or those who want a richer way to exploit Java's class structure, an IDE is an important tool. The low cost of entry for the Java SDK is attractive to beginners. Coding in Notepad, however, doesn't begin to take advantage of the language's full scope.
Several vendors of Java development tools have seeded the IDE market by offering free or low-cost, entry-level editions of their Java IDEs.
I reviewed three: Sun Microsystems Forte for Java 2.0 Community Edition, IBM VisualAge for Java 3.5 Professional and Entry editions, and Inprise Corp.'s Borland JBuilder 4 Foundation.
Though they all aim to jumpstart Java developers and draw them into the enterprise versions of the products, the tools have become much more than stripped-down freebies.
Some organizations find these tools good enough to standardize on.Serviceable tools
I downloaded the teaser tools to see how far they went after I'd used their big brothers in the past. All turned out to be pretty serviceable. The barrier to working with the free tools on complex projects is creating the database applications and server-side code.
Sun, keeper of the Java brand, has not been known for its developer tools in the past. It acquired Forte Software and NetBeans to change that reputation. Forte for Java 2.0 Community Edition
is a fusion effort.
Sun gives away the community edition for free but as restricted code. The company has also made a version of the IDE available as open-source code, in the hope that independent developers will extend it with potential add-ons for the commercial version.
Forte CE works with the Java Developer's Kit 1.3, the latest version of the Java environment. It's a big improvement over the first version of the IDE. It retains the same basic interface and incorporates many of the bug fixes released for the prior version as online updates, plus it has a number of new features.
Forte runs under Microsoft Windows, Linux, and SunSoft Solaris 7 and 8. It's a bit more demanding of system resources than other development tools, although I have run it on a 250-MHz Pentium II notebook PC without many hiccups.
Sun's IDE can import projects from previous Forte and NetBeans versions, and it now incorporates the FastJavac compiler as the default compiler. The IDE has templates for various project and object types, as well as wizards to generate templates for new projects. In a few seconds, I managed to build my own template for a specialized Java servlet incorporating skeleton code from an earlier project.Multiple concerns
One frequent problem is system conflicts caused by multiple installed versions of the JDK. Java coders often have to support software built with early kits because of different application servers and client configurations, so they must keep multiple development environments handy.
How does Forte for Java get around the conflicts created by running several old IDEs on the same machine? It bypasses the Java Classpath environmental variable. Instead, it asks the user to select the version of the Java runtime environment it should use at installation.
This means you can keep Forte CE 1 and 2, or any other IDE and Forte CE 2, alongside each other on the hard drive.
The source code editor in Forte CE 2 is also an improvement over the previous version. The context-sensitive editor highlights code elements with different colors based on their purpose in syntax. The editor can auto-complete Hypertext Markup Language and JavaServer Pages code. It also does smart indenting to ease navigation through nested code segments.
Forte CE 2 supports JavaServer Pages 1.1 and Version 2.2 of the Java Servlet Specification. That means there's support for JSP tag libraries and for Extensible Markup Language configuration and deployment descriptors.
Forte is almost all that many Web developers need to build most of their applications. They will hit a wall only when they attempt enterprise application development, as there's no direct support for Java2 Enterprise Edition in the IDE.
For developer teams, Sun has added new wizards and menu commands to integrate with Concurrent Versions System source code management, including check-in and check-out commands. Developers can add more CVS commands.
On the whole, Forte's development environment is functional and relatively easy to use. It lacks some of the richer features of Borland's JBuilder, such as so-called two-way tools. And it doesn't have the broad functionality found in IBM's entry-level products.
I also found the graphical design environment in Forte to be a little less intuitive than those of the Borland and IBM tools, though certainly usable. But Forte's easy extensibility and flexibility overcome most of these objections, and it is well-suited to servlet and JSP development.Unlimited functionality
Unlike the other vendors with free IDEs, IBM doesn't limit the functionality of VisualAge for Java 3.5 Entry Edition
. Instead, it limits to 750 the number of Java classes that can be used in a project. That's not much of a barrier for many developers.
VisualAge Entry Edition has the most feature-rich, free development tools around. The only downside is that the tools don't support the most recent JDK Version 1.3.
IBM's offerings run under Windows, Linux, OS/2 and AIX. They come in two flavors: Entry Professional Edition and Entry Enterprise Edition. Professional is based on JDK Standard Edition 1.2. It's targeted to developers of client-side applications, JavaBeans and applets using Java2 Standard Edition, the Swing graphical interface libraries or the Abstract Window Toolkit.
As with Forte, all the code written in either entry version is stored in a file system repository. VisualAge calls it the workspace.
VisualAge Entry Professional has a number of wizards for getting applications started quickly. It also has wizards for string externalization, building multilingual applications and JavaDoc documentation output. If you're not fond of its interface-building tools or have some other favorite builder for Java, VisualAge can import interfaces built in other Java development environments.
Also part of the professional edition are Tool Integrator application programming interfaces, which let other applications residing on the same computer or elsewhere remotely access the VisualAge debugging and other tools. That's helpful for remote debugging.Follow changes
There is also a rudimentary change management function in VisualAge Entry Professional. It tracks changes through the use of editions'essentially, version snapshots.
This function lets you keep up with changes in objects and roll back to earlier versions in case of problems.
Entry Enterprise provides an extra layer of functionality above Entry Professional. It's based on JDK 1.2.2 and has features for building and deploying server-side Java code. For example, Entry Enterprise has wizards to generate JavaBeans, tools that manage dependencies for Enterprise JavaBeans classes, persistent mapping of data sources to EJB objects, and a collection of testing and advanced deployment tools.
The updated Enterprise Access Builder lets developers consolidate their connectors to enterprise software such as IBM's CICS Transaction Server, Encina, MQSeries and Host-OnDemand; SAP America Inc.'s SAP R/3; and Computer Associates International Inc.'s IMS.
The structure will make it possible to migrate to the Java2 Platform, Enterprise Edition JCX API standard when it is adopted.
A test client generator in VisualAge Enterprise Entry eases the testing of Enterprise JavaBean components before deployment to a server. The test generator also can create clients for Enterprise Access Builder connector testing.
On top of all that, VisualAge Enterprise Entry supports Unified Modeling Language tools such as Rational Software Corp.'s Rational Rose through its XMI Toolkit. There's also built-in support for the Common Object Request Broker Architecture with an interface definition language and support for multiple object request brokers, or ORBs.Choice is clear
None of this is exactly entry-level Java coding. Beginners might think VisualAge throws them into the deep end. Also, VisualAge isn't necessarily well suited for JSP development or simple servlet coding. But it's the obvious choice if you're looking for tools to develop in an IBM-heavy software environment, or if you develop with JDK 1.2 rather than 1.3.
Inprise/Borland's free, bare-bones JBuilder 4 Foundation
is the basis for its JBuilder Professional and Enterprise products. JBuilder 4 Foundation runs under Windows, Linux and Solaris.
It lacks many of the capabilities of the other two tools in the review in terms of application development through wizards and templates. Foundation is based on JDK 1.3 but doesn't offer any specific JSP or servlet testing and debugging features, or any of the data access tools of its bigger brothers in Borland's JBuilder family.
But it excels in simplicity, offering some of the best standard IDE features of the bunch. Its graphical design capabilities are the best in the review. It can do drag-and-drop interface building, unlike the other two, and it generates untagged, human-readable interface code that imports easily into any Java development environment.
It also has excellent debugging features. Borland's two-way tools feature lets developers view and work in code and graphically at the same time, seeing changes to either immediately reflected in the other.
JBuilder's code editor auto-completes code, sensing the syntax of code lines and presenting appropriate methods and objects for the context. The IDE also has its own basic source versioning. It includes a revision browser, which lets developers view the history of source code versions.A Java mix
Like Forte, JBuilder is built in Java, on top of the Java2 SDK 1.3. Its debugging is an implementation of the Java Platform Debugging Architecture, and it arrives with the Sun HotSpot Java 1.3 auto-optimizing virtual machine.
JBuilder Foundation is meant as a Java training platform. The CD-ROM version, available for a shipping cost of about $10, comes with multimedia training files, tutorials and sample code.
Overall, I consider JBuilder the most usable of the three IDEs from the standpoint of developer productivity with applets, visual beans and client applications. It's no wonder many developers have standardized on this supposedly limited tool.
|Three free Java tools have limits but serve beginners well|
|Forte for Java 2.0 Community Edition||VisualAge for Java 3.5 Entry Professional and Enterprise editions||Borland JBuilder 4 Foundation|
Sun Microsystems Inc.
Palo Alto, Calif.
Scotts Valley, Calif.
|Pros||+ Good Java and servlet support||+ Full-featured, but for only a limited number of classes|
+ Enterprise version supports Enterprise JavaBeans
|+ Drag-and-drop building|
+ Excellent code editor and debugger
|Cons||- No drag-and-drop interface design||- No drag-and-drop interface design|
- No JavaServer Page support
|- Only applet, bean and client-side apps supported fully|
- No built-in JSP, servlet or EJB support