|JBuilder 3.5 (Linux) Enterprise Edition
By Nathan Boeger
Developing in Java is complex. What with the abundance of Java Beans, Swing components, AWT components, and limitless classes, it can be a struggle to decide which is best to use, especially when programming Java GUI applications. You need a good GUI IDE that lets you see what you're creating in realtime. Although JBuilder 4 Enterprise is Inprise/Borland's latest release, the version 3.5 update is most widely accepted. The best thing about this update is that it runs on Linux. Of course, there are a number of other impressive features as well.
One useful addition is the revamped right-click menus. These little menus are very useful when navigating through your code, or when you need to make a quick change to your IDE environment or coding style. From these menus, I use the Browse symbol option to highlight components and visit the source to see what methods and public variables are available. The Structure pane docked alongside the main IDE window contains variable names that let you make sure you've spelled your class names correctly. This saves a lot of time in debugging, and eliminates silly errors from typos. With the Structure pane, you just click on an object to get the exact name. I only wish I could copy and paste the object's name into my code directly.
I also like JBuilder's file-management features. The Content pane shows your main source. At the top of this pane your files are listed by tabs so you can easily switch between different source files or whatever else you're using. At the bottom of the pane you have more options for viewing a file's source or switching to its design tab. This design tab displays your object as a GUI component. From here you can use the Structure pane and browse your object's components in a tree view. You can add new components using drag and drop. Better yet, you can set and change properties of the layout manager or any other component and watch them being updated as you make them, without editing your source and compiling, and then praying that the little change won't destroy your component. Although this isn't news for a lot of GUI programmers in other languages such as C++ and VB, this is a useful new addition for Java and Linux application development.
Also, JBuilder is a very responsive IDE. This is most noticeable when displaying Java components. I was surprised that JBuilder was able to load even my complex components and update them when I made my changes so quickly. A number of IDEs promise realtime updates, but if it takes a while for the IDE to interpret and render your component, you're left watching your CPU spike and worrying about whether your system will crash. Of course, running Java adds overhead, too. JBuilder actually holds up to Java-induced performance challenges and feels solid, so you rarely need to worry about losing those precious few lines of code to a crash.
Nearly all IDEs offer project management, but some are a bit confusing. As a developer, I want to spend time coding, not learning fancy ways to manage my source. JBuilder offers some simple options, and the default settings should work for most.
One option that I appreciated was path management. You can add or edit your source paths, documentation, and libraries. JBuilder doesn't use binary files to store your project information. You can use standard Unix tools to find files quickly or search your projects; you don't have to live without
friends. However, I didn't see support for RCS or CVS, but they can still be used for your project information files.
JBuilder's help tool is also useful. Often when looking for help with a non-Open Source piece of software, I get lost in nonsense. JBuilder's help tool looks average, but it has useful and accessible information. There's also a large amount of tutorials that would help a newbie a lot, as well as samples of code and wizards that will make your basic application without a lot of fuss.
I was disappointed by the JDBC support. I tried in vain to install my PostgreSQL JDBC driver. I searched their Web site for information, but found none. I prefer PostgreSQL for many reasons, like support for stored procedures and transactions, documentation, and mailing-list support. I can't imagine why Borland wouldn't include support for this database in its Linux package.
Installing JBuilder is a little tricky, but not too hard if you read the documentation. You have to install the latest JDK (1.2.2), and then you need to install the components in a prescribed order. The CD contains all the documentation, along with links for downloads. Even someone new to Linux will find it simple. The space requirements are slim. The size for JBuilder, docs, and the JDK was around 130MB. That's on the big side, but reasonable considering the number of features and enormous documentation.
JBuilder has always offered many advanced features for Web and Internet applications, including an integrated HTML viewer, a built-in Servlet-enabled Web server, an integrated VisiBroker CORBA ORB, and new to this version, a Java 2 remote debugger. Also, there's support for mobile computing applications. These features are hard to find on a mainstream IDE for Linux, not to mention from a vendor that's had such a long track record for creating IDEs.
Choosing an IDE for development is a serious decision. Most people find one and stick to it. After all, switching means you'll have to adjust to the new environment, learn new features, and customize. So I look for the little things, such as the ability to change your background color, shortcut keys, and fonts, or choose where the menus are placed and how they pop up. It doesn't really matter how advanced and fancy your IDE is if you can't live with the details. Borland has done a great job creating a useful and productive environment. It adds support for Emacs-style keymaps, and sports a Motif or Metal (simular to GTK) look and a simple interface.
Overall, the JBuilder is very easy to get used to. I would recommend this IDE to anyone who wishes to make robust Java applications on Linux. It's not inexpensive, but if you're a serious Java programmer, your money will be well spent.
Nathan is currently the senior system admin/systems programmer for GetRelevant. He is developing a Java front end for a Web farm monitor, and one for a POS accounting program.