As always, Borland has been busy making improvements to their flagship products, JBuilder and Together. These products have the most potential value when used together, so the integration between them is an important feature of both. This review will cover that integration, as well as selected new features of the products.
Both JBuilder and Together now offer code auditing, and Together also provides metrics. In JBuilder, auditing is turned on or off as a property of the project. When turned on, JBuilder audits run automatically during editing, providing a real-time display of results. Running audits or metrics using Together is a discrete operation that produces a report.
There is a good deal of overlap between the many audits provided by JBuilder and Together. Where there are differences, audits unique to JBuilder are more implementation related; as one would expect, those unique to Together are more design related.
JBuilder provides about 90 audits in 11 categories, Together about 80 in 9 categories. It is useful that each audit can be turned on or off. For example, some of the coding style audits are debatable and may conflict with or exceed a team’s standards. Turning these off will prevent nuisance notifications. Most of the audits in both products are useful and will improve the quality of almost any developer’s code. Some will find errors that could lead to hard to find bugs.
JBuilder’s real time auditing can cause performance problems when used during editing of large source files. For example, auditing a file of about 5,000 lines of Java code during editing produced noticeable delays in editor responses even on a 3 GHz PC with 2 GB of RAM. Perhaps we should have heeded the “long files” audit that flags source files with more than 2,000 lines!
There are various enhancements in this area. The most interesting is that it is now possible to debug Apache Ant scripts.
Every release of JBuilder contains many enhancements aimed at improving coding productivity. Here are a few of the most interesting.
MemberInsight is a major time-saver that has been around for a long time. It pops up a list of instance methods and variables when the user types ‘.’ after a reference to an instance, allowing one to select from the list instead of typing or even looking up the possibilities. It is cumbersome, though, to sort through all of the possible choices when the class has a lot of members. Now SmartMemberInsight limits the choices in the list to those of the type needed in the context of the expression. If the user needs to drill down through the member hierarchy to find a member of the proper type, <Ctrl>-H toggles between the full list and the type-qualified list.
Pasting of code snippets has been enhanced by adding an analysis of imports that the code needs in its new context. The user is given the choice of automatically adding those import statements.
With highly navigable IDEs like JBuilder, a user often lands in the middle of some code with no idea of the context of the code. We find ourselves scrolling up to see what method or even class (in the case of inner classes) the code is in, while trying not to lose track of where the code of interest is. The new ScopeInsight instantly shows the context of the code where the caret is located without scrolling. This is one of the most often used new features during our evaluation.
Two of the many new debugging features address longstanding inconveniences. When stepping into a method, the debugger normally steps into any method calls found among the parameters of the method. Before we can get into the method of interest, we have to step into and out of each of these method calls. A new “Quick step into” button bypasses the calls in the parameter list and goes straight where we want to be.
“ Custom view for Collection objects” displays the contents of a Collection as if it were an array. This is much faster than drilling down several levels deep into a Collection to look at one member at a time.
JBuilder’s major improvement in web development is extensive support for Java Server Faces (JSF) development. Visual design tools are provided for the flow and navigation of a JSF application, as well as editing the deployment descriptor xml file.
Previous versions of JBuilder supported MIDP mobile development. JBuilder 2005 Enterprise adds the DoJa API, for “i-mode” devices, to its mobile repertoire. It also has support for unit testing of both MIDP and i-mode mobile applications.
OptimizeIt is Borland’s excellent profiler suite, running as a fully integrated component of JBuilder. In out review of JBuilder 9, we noted that the only online help available for OptimizeIt was a set of HTML and PDF files viewable in a browser. The help system for JBuilder 2005 Enterprise contains extensive help for using OptimizeIt.
The integration of Together Developer 2005 with JBuilder is dramatically improved over earlier versions. The user can work with a diagram in a separate window, or in a tab intermixed with the source file tabs. JBuilder’s help system now incorporates Together help, so there is no need to navigate the file system to reference separate documents (though there are some separate documents available if needed).
Integration is not completely seamless. For example, as noted above, the two products provide separate and overlapping code auditing. JBuilder’s auditing is controlled from the project properties dialog. Together’s auditing is invoked through the Project-Quality Assurance-Audits menu path. However, in most ways, the two products now have the feel of a single application.
The latest versions of JBuilder and Together build on the strengths of previous versions, while taking their integration to a new level. Borland has dug deeply to find even small obstacles to productivity in using JBuilder and effectively addressed them. We highly recommend JBuilder 2005 Enterprise and Together Developer 2005.
Cite this review as follows: Dave Neuendorf, Richard Wiener: Review of JBuilder 2005 Enterprise and Together Developer 2005, in Journal of Object Technology, vol. 4, no. 5, July-August 2005, pp. 159-161. http://www.jot.fm/products/review7