SAN MATEO (05/23/2000) - Choosing a Java IDE (integrated development environment) isn't as simple as it might seem. Before taking the plunge, you have to drill through a complete needs-based assessment, and one of the first things you must address is the degree of hand-holding your developers require.
Usually it all boils down to a matter of experience. Many junior programmers work faster with visual IDEs, which spruce up the stark command-line interface of the modern JDK (Java Development Kit) with user-friendly refinements. But to senior developers, bells and whistles only slow them down by distancing them from the underlying code structure.
Tek-Tools Inc.'s Kawa 4.0 is the kind of streamlined IDE meant for experienced Java programmers who don't want to burrow through graphical frills. Unlike competitors such as Symantec Corp.'s Visual Cafe and Inprise JBuilder, Kawa doesn't have any wizards, database client-development capabilities, large source-code samples, or drag-and-drop tools.
The package also lacks some distributed application development beans such as CORBA support, making it more appropriate for small and midsize team development or lightweight enterprise integration. Meanwhile, the absence of tools for GUI construction suggests a role in server-side or back-end application development, where a GUI isn't required.
But Kawa's suite of project management, editing, and debugging tools lets developers keep their hands in their code while building Java applications and applets. The package, a 32-bit Windows application that wraps around any version of Sun's JDK, also boasts a set of editing features lifted from Premia CodeWright along with new version-control enhancements, Enterprise JavaBeans support to encapsulate business logic in distributed applications, and a fast debugging engine. At $129 per seat, it's considerably more affordable than high-end visual tools such as Inprise JBuilder and Microsoft Visual J++.
For most developers, Kawa's biggest attractions are the newly integrated CodeWright features. Thanks to CodeWright, this version of Kawa offers benefits such as easier source-code management, formatting tools, multiple clipboards, and a spelling checker.
I was especially impressed by the differencing and merge utilities, which can drastically reduce the time spent on analyzing code. With these tools, you can quickly sift through several sources and view identified differences side by side. You can make changes to your code from within the differencing window or backtrack through previous versions of your documents.
CodeWright also supplies a code beautifier, a handy utility that formats your code to customizable specifications. This way you can set display parameters, including indent spacing or keyword colors for a particular programming language. Features such as these go a long way toward standardizing output and improving code readability in team-based environments.
As well as the CodeWright additions, Kawa's code editor also boasts a search-and-replace tool for making bulk modifications, code folding capabilities, and improved printing and previewing tools. My only complaint is that the editor did not permit screen splitting for multiple views on a file -- a simple tweak that would be useful when working with large code bases.
Meanwhile, version-control enhancements let you sign documents in and out or review modification histories by simply pointing and clicking. Easily identifiable icons quickly reveal your documents' read/write availability.
Other features include a fast debugger and variable watch window, which made debugging a much quicker process than with Java-based IDEs such as Sun Forte.
True, the debugger could benefit more from features that are found in the more advanced debugging engines, including remote or just-in-time debugging. But Kawa's debugger still provides reliable basic capabilities such as breakpoint settings, stepping, and variable browsing. You can even debug servlets as they interact with a Web browser.
Kawa scores more points for its straightforward interface, which presents no challenge to getting started. The project management center displayed a hierarchical listing of the projects I was working on, as well as the packages and classes available from the current JDK. This layout helped me track ongoing projects: I could see multiple projects and quickly access version control without having to switch between applications. I could also build and save setting profiles, making it easy to adapt Kawa for multiple projects and small team settings. And the abilities to switch between JDKs and generate Javadoc files without leaving the IDE boosted my productivity.
I did, however, experience a number of buggy interactions, such as display errors that prevented new files from displaying correctly (restarting the program temporarily corrected the problem). Thankfully, most of the bugs I came across were more nuisances than actual detriments, such as the flag that indicates successful compilation, which never worked consistently.
A bonus toward extensibility is that Kawa workspaces and projects are now stored in XML. This will help improve the portability and readability of the workspace environment to enable easier migration with external, third-party tools.
The Kawa architecture is even further extensible via the use of a modular Java plug-in API, which could come in handy for doing things such as connecting to external source-code servers. Tek-Tools is still developing this feature, so the plug-ins available now are limited to general source-control classes such as a new project alert and interpreter settings. But the company promises new plug-ins for future iterations.
Until Tek-Tools beefs up Kawa's distributed application development capacity, Kawa isn't suitable for large enterprise use. But for small and midsize team development, this is one of the best little no-frills IDEs I've ever seen. Kawa represents an excellent low-cost alternative to high-end IDEs, making it worth a look for experienced Java developers in need of a standardized, team-based platform.
James R. Borck (firstname.lastname@example.org) is director of IS at Industrial Art & Science, in Connecticut.
THE BOTTOM LINE: VERY GOOD
Business Case: For a minimal entry price, Kawa delivers solid development features to improve productivity in Java coding. Version-control capabilities make it ideal for team-based projects, and the capability to wrap around multiple JDKs ensures solid long-term ROI.
Technology Case: Code-level access lets developers maintain strict control over development. However, Kawa's lack of wizard-driven editing features makes this IDE best suited for experienced programmers.
+ Direct access to code
+ CodeWright editing features
+ Fast debugging engine
+ Strong version control
- Limited enterprise integration
- Limited plug-ins available
- Minor bugs
Cost: $129 per seat
Platform(s): Windows 95/98/2000, Windows NTTek-Tools Inc., Dallas; (972) 980-2890; www.tek-tools.com.