The high quality of Borland's Delphi, widely regarded as the bestng tool, justified? Yes and no, argues Tim Anderson. all-round RAD tool for Windows, has heightened interest in JBuilder, which attempts to do the same for Java. It is one of a new breed of Java development products based on JavaBeans components. Other examples include PowerJ from Sybase and IBM's VisualAge Java, which was reviewed in PC Week on 16 September 1997.
JBuilder's components depend on features in JDK (Java Development Kit) 1.1, so you will need the very latest versions of Netscape Navigator, Microsoft Internet Explorer or Sun's HotJava to run the applets you create.
Borland's documentation places more stress on building applications, where deployment is easier since Sun provides a distributable Java runtime environment.
The JBuilder environment is partly built using Delphi, which means it only runs in Windows, and partly built using Java, which makes for a sluggish interface. This is arguably the worst of both worlds, but will make sense over the longer term when JBuilder itself becomes a Java application.
For now you need Windows 95 or NT, with NT recommended because JBuilder is not the most stable of development tools.
A full installation is around 100Mb. JBuilder installs its own hacked version of JDK 1.1.2, which Borland states should not be replaced with another JVM (Java Virtual Machine), although the resultant applications should be compatible with any higher version. Borland also supplies AppAccelerator, a JIT (Just-in-Time) compiler which kicks in when applications are run or debugged from the IDE (Integrated Development Environment). The development environment bears some resemblance to Delphi, particularly in its toolbar and component palette, but the main working area is substantially different thanks to the new AppBrowser, which is a multi-featured project manager, class browser and layout tool.
A key part of JBuilder is the JBCL (JavaBeans Component Library), a Borland-specific library which includes GUI and non-GUI classes. JBuilder's component palette features both JBCL and standard AWT components. In many cases these offer overlapping functionality, although the JBCL versions have richer functionality. More significant is that appropriate JBCL components are data-aware. Another difference is that JBCL components use a model-view architecture. This offers a way of separating the code which manages class internal data from the code managing its display. JBuilder comes with over 100 JBCL components, and you can use these as building blocks for creating your own custom components. The library includes standard dialogs such as file, font and colour choosers, a bitmap button, a grid control, an outline tree and a tabset control. For someone used to the rich features of a Windows interface, the JBCL is less of a culture shock than the basic AWT. The downside of JBCL is that you need to deploy the support libraries. The ZIP file containing the full JBCL is around 1.5Mb, but JBuilder has a deployment wizard that creates a smaller ZIP file by analysing the dependencies of your applet.
Developers like an environment that is both feature-rich and not distracting.
JBuilder's answer to this conundrum is the AppBrowser, a highly context-sensitive three-pane window. On the left is the Structure pane, which sets the mode of the browser, while to the right is the Content pane.
Along the bottom are tabs, which switch between different kinds of structure or content as appropriate. For example, selecting the Project tab gives you both a file view and class browser on the left. If you select a Java file, then the content pane on the right has tabs for the Java source, the visual design surface, and JavaDoc documentation. If you select an HTML file, then the content pane has tabs for both the raw HTML and its formatted display. To complicate matters further, the left-hand pane has browser-style forward, back and home icons. It sounds confusing because it is, at first. Familiarity shows that Borland has created a powerful and flexible environment for coding a Java project, making good use of browser and HTML concepts.
JBuilder works particularly well as a class browser. Clicking your way through the class hierarchy is a straightforward business, as is bringing up the AWT or JBCL source in the content window. The AppBrowser also functions as a debugger, and you can right-click in the code to set breakpoints, or inspect variables during execution. One gripe is that Borland does not integrate the property inspector, which has a slightly annoying habit of disappearing behind the AppBrowser whenever you need it.
On-line help is available in an HTML viewer, which is web-friendly but slower and more awkward than old-style Windows help. There is a master index but no full text search. As with the inspector, it is hard to keep help visible when working in the AppBrowser, unless you have a particularly large display.
JBuilder's database features are based on JDBC, the standard Java database API. The key elements are a Database component, which handles the JDBC connection and DataSet components, which handle SQL queries. Hook up a data-aware control to a DataSet, and you have a working database application, with live data even at design time. You can also add a Navigator or Locator component, plus visual controls for interactive data searching and navigation.
Another strong feature is the way in which you can create a data module object as a container for all the data access components, instead of mixing database code with display code. One advantage of this approach is the ability to reuse the data module in other projects. JBuilder also has a QueryResolver component. This intercepts events such as deletes, inserts and updates, so you can write code to validate the action, and either resolve or cancel it as appropriate.
JBuilder Professional comes with a JDBC-ODBC bridge that lets you access ODBC data. A single-user version of Borland's SQL database, Interbase, is also bundled with the product. The problem with this technique is that the ODBC driver has to run on the client, ruling out its use in applets.
A better solution is to use native JDBC drivers: but to obtain these, you need the client-server edition of JBuilder. Of course, if you already have JDBC drivers from another source, you can use them with JBuilder.
JBuilder has some handy productivity tools. The New dialog enables you to use wizards to get you started with applications, applets, frames, dialogs, data modules, and JavaBeans. A great feature is the ability to wrap an existing Applet so it becomes a JavaBean. There is also a utility wizard for such tasks as implementing interfaces and connecting events to components.
The printed documentation consists of two slim manuals, providing just about enough to get started with JBuilder. Many features are only described in on-line help. For example, JBuilder's code obfuscator is highlighted on the box as an important feature. How to obfuscate your code is not indicated in the manuals, though, and nor is it in the master index for on-line help. Eventually, common-sense research reveals it as a command-line option for bmc, JBuilder's compiler. Finding your way around JBuilder is not always easy.
JBuilder is a good but frustrating product. The main problems are the instability of the IDE, highsystem requirements and generally slow performance.
There are plenty of rough edges. For example, when building an applet JBuilder does not always recognise changes you make to the host HTML file, even though it is part of the project. JBuilder's focus on JavaBeans is excellent, although the product is lacking the visual interaction tools found in IBM's VisualAge for Java or Symantec's Visual Cafe. Unlike PowerSoft's PowerJ, JBuilder makes no effort to support ActiveX components: a strength or weakness, depending on your politics. There is no native code compiler.
Although frowned upon by Java purists, native code compilation for x86 systems is offered by Java tools from Symantec and Asymetrix, and can improve performance greatly.
Approximate prices are:
Standard edition around #83 plus VAT.
Professional Edition around #389 plus VAT.
Client-Server Edition around #1,587 plus VAT.
Contact Borland on 0800 454065.
Cotton seedling freezes to death as Chang'e-4 shuts down for the Moon's 14-day lunar night
Fortnite easily out-earns PUBG, Assassin's Creed Odyssey and Red Dead Redemption 2 in 2018
Meteor showers as a service will be visible for about 100 kilometres in all directions
Saturn's rings only formed in the past 100 million years, suggests analysis of Cassini space probe data
New findings contradict conventional belief that Saturn's rings were formed along with the planet about 4.5 billion years ago