By: Stephen Saunders
To write, compile, and test a Java application, you require three basic programs: a tool to write the source file, a tool to compile that source into Java byte codes, and a tool to execute the byte codes and see if they work correctly. The basic tools are simple: a plain text editor (like the Microsoft Windows utility program, Notepad) and a Java compiler and interpreter (like those in Sun Microsystems' Java Development Kit, javac and java).
Working with these tools, while inexpensive, can severely hamper the speed of the development cycle. Some developers consider them limited and primitive: you normally cannot both edit and test your code simultaneously; you have to manually figure out which files have been modified and which have not in order to rebuild your application; et al. It is time-consuming. Enter the next generation of environments for developers to work in.
Visual Cafe for Java is an integrated development environment (IDE) for Windows 95, Windows 98, and Windows NT workstations. It comes complete with built-in editor, compiler and interpreter. The aim of Visual Cafe for Java is to provide the programmer with a powerful, customizable, easy-to-use environment from which to efficiently construct and deploy Java applications. The Database Development edition of the software is specially enhanced to support applications that connect to databases. The IDE has a number of strengths to achieve this end.
The principle strength lies in the fact that Visual Cafe for Java is a "visual" environment. Symantec's IDE attempts to make the design and development of a graphical user interface (GUI) a less-difficult task by making all GUI components drag-and-drop. Want to put a checkbox in your application? No problem; just select "Checkbox" from the button bar at the top of the screen, and then drag the appropriate size and location on the application window. Voila - a pristine new checkbox has been added, no coding by hand required, making the task much, much quicker. A visual IDE can significantly reduce the time required to develop a complex GUI.
A related benefit (and a handicap - as I'll explain later) of the visual aspect of the IDE is that it drops the learning curve for programmers with no Java experience. Normally, creating a GUI component like a checkbox and placing it on an application would require at least a basic knowledge of the syntax of the Java language, as well as a working knowledge of the Java windowing toolkit. Visual Cafe for Java allows you to do this via drag-and-drop, and the Java code is written for you. Programmers who work in other languages and who haven't learned Java can actually be productive immediately. To take the idea one step further, they can actually use the IDE to create sample Java code from which to learn.
This specific version of the IDE, the 'Database Development' version, is augmented with additional class libraries and wizards to make painless the daunting task of integrating a Java program with a database. Even an experienced Java developer would have to take the time to learn the JDBC package before being able to make this connection. With this IDE, you simply start a database-aware project, specify the database, and an entire GUI with labels, fields, and complete connections for database manipulations is created for you.
The interface, for those who have never used an IDE before, can first appear a little overwhelming. The default workspace appears with two rows of buttons and a tab bar, presenting more than 50 clickable options in this area of the screen alone, discounting the menus and inner windows. Fortunately, most of the interface is customizable - you can remove buttons, bars, and inner panes that you are not using - and I did my best to ignore them until I learned each one's function.
Above: The main interface can be overwhelming at first.
Upon acquainting myself with the interface, I was overwhelmed with the number of additional utility classes designed by Symantec and included in the application that were at my disposal. In addition to all the standard Java classes that developers use as a starting point for their programs, Visual Cafe for Java also comes with over 200 custom Symantec classes which further ease your application design. You are provided with a large suite of components that can be used to do things like handle animation, manage database connections, and handle invisible hyperlinks without you having to code a single line.
One extremely pleasant surprise came not from the application itself, but from the documentation. Both the printed texts and the online help accessable through the application's menus were written very clearly and proved helpful. The "Getting Started" book included step-by-step instructions on how to create a Java applet, how to create a stand-alone Java application, how to debug code with errors, and how to include database interactivity in your programs, all while introducing you to the Visual Cafe interface and demonstrating the power of its various features.
The database integration in this 'Database Development' edition was mind-boggling. A series of wizards literally took care of all of the complex JDBC code that would have to have been written by hand. During a review exercise of creating an applet with database connectivity, I had a series of fully-working, fully-integrated fields on an applet within just minutes of starting the exercise, and without seeing a line of Java code. Considering the IDE has JDBC and ODBC support for over 30 different types of databases, the Database Development edition of Visual Cafe is phenomenally efficient. It could easily increase the speed of developing a database-aware Java application by tenfold or more.
Above: Wizards take care of all the complex JDBC code.
While working on the documented tutorials, however, I was reminded of the big flaw in most IDEs - speed. Even with one of the fastest (if not the fastest) Java just-in-time compilers as part of the environment, I found the application's startup and reaction times sluggish. On an Intel P2-350, the system was usable, but still noticeably slow for a developer used to working with a text editor and the JDK. On an Intel P2-266, I was unable to do any significant testing due to impatience. I would strongly advise against trying to run the application on the minimum system requirements.
I had also mentioned that Visual Cafe for Java drops the learning curve for non-Java programmers by allowing them to build GUIs without having to know Java, and that this was a handicap. Here's the explanation: the Java code that the IDE automatically produces is not always the best code for the job. If a programmer learns Java from the code Visual Cafe for Java produces, they could potentially miss some of the finer points of the language.
Case in point: layout managers. Java's layout manager classes allow a developer to align GUI components with respect to one another, instead of by absolute pixel values. As Java is intended to be architecture-neutral and multi-platform, this means that GUIs can be displayed on any size, in any resolution, and still look like the original design intended by the developer. The GUI components morph, expanding and contracting, to keep the same layout. Visual Cafe for Java, like most visual environments, places GUI components at exact pixel coordinates, and loses what some consider to be a major feature in Java GUI design.
Visual Cafe for Java is a very appropriate tool for Java programmers doing rapid-application development (RAD): designing Java applications where speed is of the essence. It allows novice programmers, or programmers with no previous experience in Java, to produce and deploy working, useful applications in a very short amount of time. The Database Development edition of the product is exceptionally well-suited for RAD work when database integration is required. It provides, through a series of wizards and class libraries, a fast, non-coding solution that's quick and customizable.
For the developer interested in the more academic study of the language and all its features, I would suggest the combination of a text editor and the Java Development Kit: you may find that reaching a finished product will take longer, but your environment will be much quicker, cheaper, and you'll have to write every line of code by hand.
There are several versions of Visual Cafe available - reviewed here is the Database Development Edition, which is also the most expensive. All variations are available to buy from Beyond.com at a discount price. Just click on the link below to jump straight to the order page: