If you happen to be an old Web developer and think you’ve seen all the tricks that can be coded in HTML, consider looking at JackBe NQ Suite 4.0, a toolkit for producing sophisticated, JavaScript-enabled forms and spreadsheets. The IDE runs entirely in a browser as DHTML, but you’ll swear it’s a custom client application coded in Assembler. It’s that snappy.

The JackBe development environment has arrived just as interest in JavaScript and AJAX (Asynchronous JavaScript and XML) programming is exploding.

The secret of the system is its tightly coded library of essential JavaScript functions designed to be loaded onto a user’s PC the first time he or she visits a site. This file, approximately 21KB, is filled with JavaScript code for building menus, input boxes and spreadsheets in HTML. The company squeezed out all the fat by giving the functions names only two characters long. It reminds me of the days when real programmers wrote bitbanging code in hex.

The rest of any Web application generated by JackBe is stitched together with many of these functions.

If you remember doing programming when memory was expensive, you’ll appreciate the lengths JackBe’s creators went to squeeze out bytes. The pages, for instance, are specified by a single call to the Z function with a single string as a parameter.

There are also more specific functions for common problems. MY, for instance, takes a number and formats it with a dollar sign and two digits of precision. PN finds the parent node of a particular part of the document tree.

The names, types, and locations of all the parts are encoded into the string. The endless sea of DIV tags can be replaced by only a few hundred characters passed to a JavaScript library.

The result is a Web page that is more of a program than marked-up text. I think that JackBe is just beginning to explore how this can save features. The JackBe developers tell me that they’re constantly revising and extending the libraries to offer new widgets, and I predict that they’ll roll out some interesting ones. You can also extend the routines yourself, often in an object-oriented way, by defining new routines for jobs like event handlers.

The server-side of the JackBe development process runs in a Java servlet container. You install it by dropping in a WAR (Web Application Archive) file and then starting up the IDE by entering the URL for the file into IE.

The IDE itself must run in IE, but the tools it creates are cross-browser compliant. You can rip out the JavaScript code and use it alone, but the current development environment works best when you’re integrating it with J2EE applications.

JackBe’s greatest competition may come from other packages of JavaScript libraries and open source compilations, such as SAJAX (Simple AJAX). JackBe, however, offers more widgets with deeper interfaces than any other library I’ve seen. The package is also surprisingly fast, something I’m reminded of every time I visit a Web site with badly coded JavaScript.

Nonetheless, I found the package incomplete in a few small ways. The project creation wizard, for instance, requires you to fill in many paths for files instead of doing it for you. This led me to mangle part of my Tomcat servlet container when I put in a wrong path.

QuickLink 057403