|
|
![]() ![]() Four Java Development Suites Promote Teamwork continued February 8, 1999 We found Microsoft's debugger comparable to those from Symantec and IBM. It lets you step through and over code, run to cursor and add watches on the fly. However, the debugger does not react dynamically to changes in the code. With Visual Café, if code is changed at run time (during debugging), the debugger will display a dialog box that gives you the option to restart the current method or the whole application. Visual J++ does not react to your code changes, and while the changes are reflected in the code, the debugger executes the version of the code from before the debug session began. Visual J++ ships with a slew of WFC (Windows Foundation Class) components, which none of the other IDEs offer. Microsoft has leveraged all of its ActiveX development and technology to provide extensive offerings in Visual J++. The downside is that development is closely tied to Internet Explorer and Win32. And while pure Java applications do not constitute the majority of application development, the promise of "write once, run anywhere" is still important. In choosing Visual J++, you lock yourself into Microsoft platforms. Like other IDEs, Visual J++ is very active behind the scenes. And, as we've learned the hard way, editing that code can cause unpredictable behavior. However, in addition to being delimited by special comment tags and a warning not to edit, IDE-generated code is differentiated from user-generated code through the use of various colors and backgrounds. Visual J++'s form designer is impressive. It lets you control the position of the components, both relative to the form and relative to each other. The usability features of Visual J++ include additional ones you won't find in the other products we tested. For instance, you can capture events at design time, adding a button to your form that performs an action when clicked. With VisualAge and JaWiz, you must specify the event listeners when initially running the project wizard and add code manually to handle the specific button (JaWiz) or work with the Connections Wizard (VisualAge). With Visual J++, all double-click on the button to be added while in the design form. Visual J++ generated all the code and opened the source-code editor, placing the cursor at the appropriate point. Visual J++ handles database connectivity via JDBC and through the use of JDBC-ODBC bridging drivers. Another feature that's unique to Visual J++ is its support for J/Direct, which allows a developer to make calls to native Win32 APIs directly from Java--without having to rely on Java's new JNI (Java Native Interface). We used J/Direct with ease to access several Win32 API functions to manipulate windows. Visual Source Safe, which ships as a part of Microsoft Visual Studio, can be used to manage all your source-code-control needs. It's a powerful solution that functions as a client/server application in a networked environment and lets programmers in a group work on different parts of the same project simultaneously. With it, we easily coordinated group development efforts. In addition, with Visual J++ you get all the goodies that only Microsoft can provide. For example, bundled with Visual J++ is a packager that lets you deploy your projects as self-extracting executable files. You also receive optional access to the Microsoft Developer Network (MSDN), with its wealth of information. And don't forget the extra tools, which include Process Viewer, Spy++, Windiff, Zoomin and others that came in handy during development. InfinityEdge Systems JaWiz 1.0 We evaluated version 1.0 of InfinityEdge Systems' JaWiz, an IDE with an integrated debugger and the ability to interface to a Microsoft source-code-control-compliant source-control system, such as Microsoft's Visual Source Safe. With the ability to create applets, applications and JavaBeans, and limited JDBC functionality, JaWiz is best suited for small-scale Java projects. We began our testing by creating a simple applet. Within JaWiz, the applet wizard started and requested information about the applet class we wished to use. The wizard listed the interfaces that we could implement; we chose java.io.FilenameFilter. Next, we were presented with a list of methods--enable(), disable(), init(), destory(), start() and stop(), for instance--to add to our applet, and then came the event listeners. After a couple of additional brief questions, we were presented with an applet skeleton, all ready for coding. At this stage, we began adding AWT components and creating the visual interface. Unfortunately, if you have to code additional ActionListeners at this point, they must be added manually. JaWiz does not provide wizard-like functionality for adding interactions between different events and components; Visual Café does. New applets can be tested using the included JVM, the applet viewer or an external browser. And if you encounter problems during development, you can debug the applet with the included step debugger. After putting the finishing touches on our applet, we turned our attention to JaWiz's application wizard. Similar in appearance to the applet wizard, the application wizard did not prompt us with specific questions, such as which HTML tag to use. We began a new project, named it, accepted all defaults and JaWiz generated an application skeleton. Without adding a single line of code or any components, we ran the application and the Java compiler crashed, asking us to send a bug report to Sun. After some investigation and debugging, we discovered that we had installed JaWiz with all the required classes, but had chosen not to install the Java source code for the classes. We were puzzled as to why this would be required, but we reinstalled JaWiz with all options. We also used the Bean wizard to create a JavaBean. Like the application wizard, a code skeleton was generated for us without incident. JaWiz provides all the basics that are required for a good Java IDE, including a canvas (with the ability to add components and lay them out in any fashion), wizards to generate basic skeletons, and a debugger. However, explicit support for JDBC is not available as a wizard or a specialized Bean--or in any automated manner. To gain JDBC functionality, we were forced to perform all JDBC programming manually. Notably absent is support for an internal source-code-control system or native applications, and interfaces to ActiveX components. Other than working with Visual Source Safe for a source-control system, JaWiz does not display any notion of team development for management of large-scale projects. Also lacking is the explicit functionality to support the import of GUI projects that were developed in other IDEs. While you have the ability to insert Java source files into your projects, this model isn't ideal because each IDE generates its own comments inside your Java code to control the creation and layout of AWT components, and the registration of listeners. Without explicit support for importing files containing such comments, you cannot import a GUI project developed in another IDE. Like VisualAge and Visual J++, JaWiz did not give us any trouble with the layout of visual components when editing the source code. Ahmad Abualsamid is a senior partner with 1Internet Corp. of Chicago. Send your comments on this article to him at ahmad@execpc.com.
|
Page 1 | 2 | 3 | 4 | Next Page |
Print This Page E-mail this URL |














