Zimbra AjaxTK: A toolkit for AJAX-powered GUIs

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.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://www.lopsica.com BerislavLopac

    Ajax shmajax — http://www.bindows.net/ is a few years older than that term.

  • Mark Birbeck

    Great to hear of more software implementing XForms…but I haven’t got a clue how something can be “largely unimplemented” :)

    I suppose you could mean that of the full standard only a percentage of it has been implemented, but you’d be wrong — formsPlayer, X-Smiles and the Novell XForms Browser all implemented the full standard a few years ago.

    So perhaps you mean that there aren’t many implementations — but again, in addition to the three full implementations I have just mentioned, there is the PureEdge one (recently bought by IBM), there’s Mozilla, and there are numerous JavaScript/AJAX hybrids (Chiba, FormsFaces, Orbeon, to name just the ones I can think of now).

    (More info on most of these is at http://www.xforms-wiki.com/)

    Of course if you mean “undeployed” then that is certainly true, but in the great scheme of things this is a new technology, and the interest in AJAX shows that there is a need for tools and software that make building apps easier.

    Exciting times for rich client software though! And don’t get me wrong…great article.

    Mark Birbeck
    CEO
    x-port.net Ltd.
    w: http://www.formsPlayer.com/
    b: http://internet-apps.blogspot.com/

  • http://www.phpsimplicity.com NeverMind

    Bindows is interesting!
    I should consider working with it..

  • jpatterson

    That Bindows does look good. But theres just one thing that I can see wrong with it, and that’s the Buy button. Zimbra is Open Source.

  • gihrig

    Re:

    >Ajax shmajax—http://www.bindows.net/
    >is a few years older than that term.

    Yeah, Bindows looks cool … BUT!

    $695 per developer!
    $199 per app, per cpu!!!

    These guys are NUTS!

    Sorry, Bindows will never become popular out side the big enterprise at that rate.

    -Glen

  • http://www.webconxeon.com elemental70

    Does Zimbra work on XP Home?

  • http://www.sitepoint.com/ Kevin Yank

    Does Zimbra work on XP Home?

    At this time, the Zimbra server will only run on Linux, as it relies on at least one server component not available for Windows: the postfix email server.

    The client machines that access it can certainly use XP Home, however.

  • Arndt Touby

    Where can I download AjaxTK?

  • gihrig
  • http://www.sitepoint.com/ Kevin Yank

    For now at least, you need to download the full Zimbra package and pull the AjaxTK files out of it. Some discussion of this in the Zimbra Forums.

  • Sebastian Werner

    Just make a bit advertising of qooxdoo. For those who doesn’t know it already.

    qooxdoo is an advanced open-source javascript based toolkit. qooxdoo continues where simple HTML is not enough anymore. This way qooxdoo can help you to get your rich web application interface done – easier than ever before.

    http://qooxdoo.oss.schlund.de/

  • Erik Bruchez

    Orbeon PresentationServer (OPS) 3.0, currently in beta, provides an Ajax-enabled XForms implementation, and it is open source! Check it out here and at ObjectWeb.

    This Blog entry explains the rationale behind Ajax XForms.

    But I think the online examples speak for themselves, including XForms Controls, Repeating Elements, Calculator, Translate This, and Flickr Spell. All the examples are here.

  • Pingback: 3e-lab, home of rob poitras

  • Pingback: Zimbra - Blog

  • Matthew

    To see examples of the AjaxTK widgets in action, or to download the source code, visit the post on this blog http://matthew.delmarters.com/weblog/ajaxtk_toolkit_from_zimbra/.

    Hope this helps.

  • OrlandoRed

    Lack of documentation for AjaxTK is a real pain. It’s really hard to reccommend (or even use) a toolkit like this with no doc. It’s a shame because AjaxTK looks well concieved and well executed.

  • Andreas Herz

    Hi,

    AjaxTK is greate. But I need more than ‘only’ a GUI lib.

    I’m using jACOB. A GUI Designer for Web 2.0 Applications.
    One important thing for me is the integrated DB-Designer.

    You can create a DB WebApplication with DragDrop

    very short flash demo:
    http://www.tarragon-software.com//jacob/downloads/demo/demo.html
    (Todolist with database and UI created in 4:10 minutes)

    Greetings

    Andreas

  • FreeGroup

    Hi,

    I have found the jacob frame on http://www.openjacob.org.
    Now it is under LGPL and with some fine Ajax demo application
    (with java backend server)

    greetings

    FreeGroup

  • Anonymous

    …there is a cool vector base diagramming library on
    the Open-jACOB website too. You can build your browser based workflow
    editor with that javascript tool.

    nice