Welcome Guest. | Log In| Register | Membership Benefits




InformationWeek Labs
Home
News
NewsFlash
News In Review
Financials
IW Community
AuthorITies
Shop Talk
Careers
Secret CIO
Columnists
Feedback
Business
Resource Center
Labs
Date Book

Services
Contact IW
IW Daily
Subscriptions
Media Kit/Ed Cal.
IW Marketplace
IW International
Site Map
July 7, 1997
Smalltalk-Flavored Java

VisualAge For Java free of usual C++ bias


By Jeff Jurvis

First Look logo M ost Java integrated development environment s reflect a strong bias toward C++ in their approaches to Java development. IBM went in a different direction with its forthcoming VisualAge for Java and chose to roll out Java tools and libraries in the context of the VisualAge line of development tools. VisualAge for Java inherits a noticeable Smalltalk flavor from its object-oriented ancestry and provides a full, up-to-date implementation of the latest Java tools and libraries.

VisualAge for Java has several notable features. Like a Smalltalk IDE, VisualAge for Java will incrementally compile and link your applets. Each time a class or method is saved, VisualAge will rebuild your application as necessary. If you have gobs of memory-64 Mbytes or more-and a fast processor, you will not notice it. The other 99% of us will be frustrated and annoyed by noticeable delays while VisualAge automatically rebuilds the applet after only minor changes. IBM won't be able to address all performance problems by the final release slated for late summer, but should offe r some way to disable background compilation and linking if it continues to be a problem.

The scrapbook window provides a place to try code outside the applet or application, much like the immediate window in Visual Basic and Smalltalk. The scrapbook lets you execute Java code snippets without having to declare a class or method to hold them. Scrapbook contents can be saved as pages in the scrapbook; each page can be incorporated into your applet or exported as a text file.

Code is automatically saved into the VisualAge repository. The repository also contains time-stamped versions of your code called editions-snapshots of your complete project or of individual classes or methods at a point in time. Editions are created as fallback positions before trying a risky addition or redesign of your code, or to freeze the code base at release points, or at any other milestone in the project. Repositories can't be shared in this version of the IDE, making team development difficult to manage. An enterprise ve rsion of VisualAge for Java that will address this shortcoming and others is expected by summer's end.

VisualAge for Java 1.0 beta 1 is one of the first IDEs to fully implement a version of JDK 1.1 beta 1. The JDK beta includes support for JavaBeans, which can be created, imported, modified, and exported. But beware: The final version of VisualAge will support JDK 1.1.1, which has a different JavaBeans architecture. The Beans you create with VisualAge for Java 1.0 Beta 1 won't be usable without being rebuilt in the final release. Also, because the class libraries that make up JDK 1.1 are not backward-compatible, and because older virtual machines are based on JDK 1.0, code produced with VisualAge for Java 1.0 Beta 1 won't run in most browsers today.

VisualAge for Java also has many of the features offered by the Java IDE leaders such as Symantec Café and Microsoft Visual J++. The VisualAge debugger can target individual threads and let developers change code in an executing thread. The debug ger is truly integrated and will pop up when an exception occurs or a breakpoint is encountered. This beta version of VisualAge for Java doesn't support conditional breakpoints, which are very useful in other Java IDEs for testing for certain conditions in the code before raising the code-breaking exception.

The Visual Composition Editor in VisualAge enables the WYSIWYG layout and connection of Java components. Most Java developers who've had to struggle with user interface layouts without the benefit of a WYSIWYG editor have a great appreciation for tools like this. The layout of controls and forms and other interface elements in Java is complicated by Java's cross-platform architecture, because the developer can't rely on a common coordinate geometry. Layout managers such as the one in Symantec's Visual Café, Visix's Vibe, and VisualAge help by providing a platform-independent visual method for layout.

VisualAge for Java uses the model-view-controller framework for user interface and event ma nagement, another carryover from VisualAge for Smalltalk. A VisualAge view part is a visible element of the application such as a window, a button, or some other user interface control. A model part represents behind-the-scenes, non-visual code such as business logic or data access components.

The Visual Composition Editor is used to connect parts: view-to-model, view-to-view, or model-to-model. For example, to connect a Search button part to the search model, right-click on the button to choose the event for the pop-up menu or the extended dialog. Then, right-click on the target part and choose the search method from another pop-up menu.

As with Visual Café, the visual connection tools in the Visual Composition Editor can cause problems and confusion. Visual connection works well when parts are well defined and general in behavior. But if you extend or adapt a part's code, it can't be used again in the Visual Composition Editor without losing your changes, unless you use a clumsy workaround.

While most of the Help facilities were not implemented in this beta version of VisualAge for Java, IBM did include SmartGuides. Like Microsoft's and Symantec's wizards, SmartGuides walk you through the process of creating a new project, package, applet, class, or interface.

The VisualAge source code browsers are intuitive and consistent with other object-oriented development environments. The three-pane class-method-implementation view follows the classic Smalltalk approach. Class hierarchies can be browsed in an outline view or graphical tree view.

VisualAge's source code editor is rudimentary and lacks power features, such as regular-expression search-and-replace, auto-indent, scripting, and the option to plug in a third-party text editor.

VisualAge for Java enters the Java IDE market near the top of the pile. With incremental building, the scrapbook, the repository, and support for JavaBeans, it's setting new goals for other Java IDEs. But like most new releases, there are many issues to resolve-such as sluggish performance and editor and debugger gaps.

Jeff Jurvis is a senior Internet consultant with Solid Logic Inc. in Eden Prairie, Minn. He can be reached at jeff@slogic.com .


  Back to Labs

  Send Us Your Feedback

  Top of the Page

bottom navbar