A good interactive development environment (IDE) will contain a full range of code editing, analysis, debugging, and test tools for use throughout the development life cycle. A good IDE will also provide tight integration of its component modules to facilitate a programmer moving through the edit-compile-debug cycle. Such integration requires more than a common tool launcher and common look and feel. It should also include a robust inter-tool communications backend. For instance, from a debugger window you should be able to launch a text editor to open up at the line being edited, or even better, allow editing directly in the debugger window. Without switching context, the tool should also allow the compiler to be invoked against the file that was just edited. Some of our favorite tools along with a brief description of their features are included below and summarized in Table 15-1
|Tool Name /Vendor||Languages Supported||Platforms||Comments|
|Bean Machine IBM||Java||Windows, OS2, Unix||Visual applet and JavaBean generation|
|Builder Xcessory Pro Integrated Computer Solutions||Java, C, C++||Unix, Windows (target only)||Excellent GUI builder with strong cross-platform target support|
|CodeWarrior Professional Metrowerks||Java, C, C++, Pascal||Unix, Windows, Mac||One of the best tools if you need to support Unix, Windows, and Mac platforms|
|Java Workshop Sun Microsystems||Java||Solaris, Windows||Written 100% in Java; tools based on a web browser metaphor|
|JBuilder Imprise||Java||Windows, AS400||Great database support|
|SuperCede for Java Supercede||Java||Windows||Good ActiveX/JavaBean interoperability|
|UIM/X VisualEdge Software||Java, C, C++||Unix, Windows, Mac||Great support for C/C++ and Motif to Java migration|
|Visual Cafe for JavaSymantec||Java||Windows||Good multithreaded debugger|
|VisualAge IBM||Java||Unix, Windows||Includes incremental compiler and automatic version control|
|Visual J++ Microsoft||Java||Windows||All the bells and whistles you can use in Windows|
BeanMachine is a visual applet authoring tool with wizards. It supports text, audio, and animation. JDBC capabilities provide open data access from text files, spreadsheets and relational data. A publish tool puts the finished applet, compiled Java, HTML, and all the media needed by the applet into a single directory. BeanMachine supports Windows, OS2, Solaris, HP/UX, and AIX.
For more information on BeanMachine, see the IBM web page at http://www.ibm.com.
Builder Xcessory Pro is a GUI builder for developing Java, C, and C++ front-ends . It provides strong cross-platform support for all the top Unix environments including Solaris, HP/UX, AIX, and Irix. While the development environment runs only on Unix, applications can be deployed on Unix, Windows, or Java platforms. The tool includes drag & drop, WYSIWYG, and instant play/build capabilities. Builder Xcessory Pro can generate Java-only code and includes a class browser for Java classes generated by the product.
For more information on Builder Xcessory Pro, see the Integrated Computer Solutions web page at http://www.ics.com.
Supports Windows, MacOS, and Solaris. CodeWarrior Professional is an integrated set of tools that allows you to edit, compile, and debug C, C++, Java, and Pascal programs. The Java compiler supports the generation of both .zip and .jar files. This is one of the best tools if you need to support both Java and C code across all three platforms.
For more information on CodeWarrior, see the Metrowerks web page at http://www.metrowerks.com. Note that while the official company name is "Metrowerks," they have smartly allocated both the "metrowerks.com" and "metroworks.com" domain names .
Supports Solaris and Windows. Java WorkShop 2.0 is unique among development tools in that it is written entirely in Java. It is a complete visual development environment for JavaBeans, Internet and intranet Java applets, and applications. JavaWorkshop features include a visual GUI builder, a project and portfolio manager, source editor, class browser, build manager, profiler, Java compiler, project tester, graphical debugger, remote debugging, support for team development, online help and tutorials. All user interface functions of the tool are presented using a browser-like interface that helps developers quickly familiarize themselves with the tool.
For more information on Java Workshop, see the Sun Microsystems web page at http://sun.com.
Supports Windows and AS400. Despite a corporate name change, the former Borland corporation continues to put out one of the more popular PC-based development tools. Anyone who has ever used Imprise's Builder product will be instantly comfortable with JBuilder. It features JavaBeans component creation, a scalable database architecture, visual "Two-Way" development tools, and the ability to produce "100% Pure Java" platform-independent applications, applets, servlets, and JavaBeans. The product's open environment supports JDK 1.1.x, JDK 1.2, JFC/Swing components , JavaBeans, Enterprise JavaBeans, CORBA, RMI, JDBC, and all major corporate database servers. JBuilder is perhaps one of the best general purpose IDEs for developers whose applications will involve a large amount of database connectivity and this is where the tool shines above its competitors . In addition, JBuilder is one of the few IDEs to support the AS400 platform.
For more information on JBuilder, see the Imprise web page at http://www.imprise.com.
Supports Windows. Supercede is one of Microsoft co-founder Paul Allen's many start up companies. Nevertheless, their product, Supercede for Java, competes directly with other IDEs from Microsoft. Supercede is a very interesting IDE with database development capabilities, integrated C++ compiler, ActiveX/JavaBean interoperability, support for generation of Intel executables and DLL's, support for JDK 1.1 and JavaBeans, and SuperCede's Flash Compiler technology.
For more information on SuperCede for Java, see the SuperCede web page at http://www.supercede.com.
UIM/X supports Windows, MacOS, Solaris, HP/UX, AIX, Irix, and Linux. It started out many years ago as a Unix based X-Windows development tool for C and then C++. It is therefore no surprise that this tool includes a Migration Assistant, which converts Motif interfaces into 100% Pure Java. The Java development mode provides interpretive design, a graphical connection editor, a graphical constraint editor, a declaration editor, and a method editor. The tool also includes a handy run mode for quickly switching between designing and testing of user interfaces. If you have a large amount of cross-platform Unix/Motif code you want to convert to Java and reuse, this is one of the best tools available.
For more information on UIM/X, see the VisualEdge Software web page at http://www.visualedge.com.
Supports Windows. Building on the success of its C/C++ based Visual Cafe IDE, Symantec Visual Cafe for Java is one of the best overall tools for Windows developers. Symantec 's Just-In-Time compiler consistently offers some of the best Java performance on Windows. Visual Cafe provides extensive debugging support, including multithreaded application debugging. The Database Development add-on provides extensive database connectivity support for all the major database platforms.
For more information on Visual Cafe for Java, see the Symantec web page at http://www.symantec.com.
Supports Windows, Solaris, AIX, Irix, and Linux. VisualAge supports a wide range of features including code editing, incremental compilation, debugging, and automatic version control. It also includes a Visual Builder to assemble Java applets, Java applications, and JavaBeans from pre-selected parts on the visual builder palette.
For more information on VisualAge, see the IBM web page at http://www.ibm.com.
Supports Windows. In the Microsoft tradition, Visual J++ provides more features than perhaps any other IDE on the market. Unfortunately, many of the advanced features of Visual J++ are only available if you are willing to sacrifice Java's portability outside of the Windows environment. Productivity features such as a fast Java compiler, debugger, GIF/JPG editor, macro scripting, and a post-build process for packaging and deployment are all included. It also supports ActiveX so developers can integrate Java with existing DCOM applications. Visual J++ also features a GUI designer to visually create forms or import resources from existing Visual C++ or Visual Basic applications.
For more information on Visual J++, see the Microsoft web page at http://www.microsoft.com.