Zimbra AjaxTK: A toolkit for AJAX-powered GUIs

    Kevin Yank

    Though you may not be in the market for the complete email and collaboration server replacement that is Zimbra (see my previous post), there are always goodies tucked away inside large open source applications like this one. One such goodie is the Zimbra AJAX Toolkit (AjaxTK).

    It’s still early days for Zimbra and complete documentation is still forthcoming, but there is a whitepaper available that documents AjaxTK from a rather technical standpoint.

    In short, AjaxTK is a library written entirely in JavaScript that lets you write desktop-style graphical user interfaces (GUIs) with components like buttons, menus, tabs, toolbars and more… all while avoiding the complexities of cross-browser DHTML compatibility headaches.

    The library of components included in AjaxTK is called the DHTML Widget Toolkit (DWT), and includes all the basic GUI components you would expect if you were coming from a desktop application development background. The included components provide for proper event handling, drag-and-drop operations, tooltips, and more, and the framework is designed such that you can write your own custom components that inherit these facilities as well.

    As far as the actual AJAX functionality of the framework, server communications are neatly abstracted in to a set of networking classes, as well as a complete SOAP Web services client library. Once again, details like XMLHttpRequest implementation differences across browsers are totally hidden, so you can focus on what you’re trying to accomplish.

    A particularly nice surprise was to find that the library uses a partial (but serviceable) implementation of the W3C XForms standard–also written entirely in JavaScript–as the intermediary between the user interface widgets and the data that is sent to and from the server. I’ve written quite a bit about XForms in past issues of the Tech Times (#83, #53), and as a fan of this largely unimplemented standard, I’m really excited to see it finally getting some airplay.

    Though AjaxTK is by no means the only AJAX toolkit in circulation, it definitely looks to pack a lot of punch–especially for experienced developers who have a background in desktop application development. And with an impressive real-world application (the Zimbra client interface) to drive its development in a practical direction, its future looks bright indeed.