[ Go to April 1997 Table of Contents ]|
-- by Martin Heller
To me, the word "visual" in the name of a programming environment says "draw me" as opposed to "code me." Microsoft's Visual Basic deserves its name; add Symantec's Visual Cafe to that list.
Much like Borland's Delphi improved upon the strengths of Visual Basic and applied them to Pascal, Visual Cafe has improved upon the strengths of Delphi and applied them to Java. The program's tabbed palettes for components owe a large debt to Delphi, as do its two-way tools.
Two-way tools? I'm understating their versatility. All of Visual Cafe's tools are synchronized. Drop a button from the toolbar onto a form and code to create the button will appear in the edit window. Change the button's label property, and the label text changes on the form and in the edit window. Change things in the three-paned class browser or the graphical hierarchy editor, and the changes simultaneously appear everywhere. For programming, such a flexible environment gives you enormous freedom.
Visual Cafe not only updates components and layouts concurrently, it also displays them live. For example, the form-design window runs Java; conforming components can display exactly the same contents they would when running as an applet or in a Web browser. If you choose to use Java layout managers, each component is placed in the design window by the actual layout manager that will place it at run time. If you think that isn't much, try to do visual form design using layout managers in Visual J++ or Symantec's (nonvisual) Cafe product-you'll find instant frustration.
Visual Cafe does its live display magic by parsing Java source code-but not arbitrary Java source code: Only source that was generated by the program or looks like it was generated by Visual Cafe will work. There isn't a problem if you do small edits of generated code. If you can fake Visual Cafe's coding style, all will be well, even if you add great gobs of code. But if you blindly import any old Java code, be prepared for Visual Cafe to ignore it for design purposes. It will compile, and if you leave it outside of Visual Cafe's special comments, the program won't mess with it. However, Visual Cafe won't be able to preview it.
Its components are essentially Java Beans, the new standard system-independent Java component. I say "essentially" because Visual Cafe's full support of Java Beans "introspection," or examination of the component by a design environment, required a newer version of the Java classes than was available when Visual Cafe shipped. By the time you read this, JDK 1.1 will have been released and Symantec will have issued its free update for Visual Cafe customers. At least, that's the promise.
Visual Cafe generates code for simple interactions between components. The program's Interaction Wizard doesn't go as far as Parts for Java, but I don't want that anyway. There's a point where typing a couple of lines of code is a lot less work than drawing a lot of component-relationship diagrams.
Despite its visual orientation, Visual Cafe doesn't lack conventional editing tools. The code editor sports syntax coloring for both Java and HTML for easy identification of key code segments; the three-paned class browser helps you find individual methods quickly; the graphical hierarchy editor not only makes your program's inheritance clear, it allows you to edit both the inheritance and implementation parts of the class hierarchy.
Visual Cafe doesn't limit debugging tools, either. Its debugging environment is solid, convenient and well organized. Normally, the debugger is the most fragile part of a programming environment-in my testing I didn't manage to crash the Visual Cafe debugger once. I did not seriously miss Visual J++'s ability to debug an applet running in Internet Explorer. Visual Cafe can handily debug multiple interacting applets using AppletViewer.
Finally, Visual Cafe's parsing, compiling and runtime speeds are excellent. I tested the program on a 200MHz Pentium Pro-based computer, so it wasn't a stress test. However, I never felt that I was waiting for Visual Cafe-and I absolutely cannot say that about previous versions of Symantec Cafe that I ran on the same machine.
If you ask me, Visual Cafe is the new champion of Java development environments and takes a much-deserved position on our Recommended List.
Visual Cafe synchronizes visual design tools with property sheets and conventional code editing and browsing windows.