Home News New Version of Open Source AJA ...

News by WebKnowHow

New Version of Open Source AJAX Framework ZK Is Out


Friday, April 21, 2006; 03:57 AM

ZK is an open source Web development framework that enables Web applications to have both rich user experiences and low development cost. ZK includes an Ajax-based event-driven engine, rich sets of XUL and XHTML components, and a markup language.  Live demo is available at http://www.potix.com/zkdemo/userguide/ .

According to the authors, ZK offers another development platform because existing frameworks often are either too limited to deliver the rich user experiences, or too complex and costly.

Here's what they say about the history of the project: "In 1994, we developed an infrastructure, inspired by zApp and OWL, for developing an accounting system for Windows. In 2000, we developed another infrastructure, inspired by Struct and WebWorks, for developing another accounting system for J2EE. After coaching and watching the development of both systems, we found that not only the Web edition required much higher programming skills and prerequisites, but also its total cost is four times more than the client/server one. Worse of all, the user experiences reminded us the age of green terminals, though the look, after decorating with proper images and CSS, is modern and fresh.

We start wondering whether it is intrinsic, or the programming model is simply inadequate. Looking back the success of desktop applications in 1990s, the event-driven, component-based programming model played a big role. Being blessed with the ease to learn and develop, it is the standard and best way to handle interactive and responsive user interfaces. Can we apply this model to Web applications? After using ZK to develop several commercial projects, we believe we got the answer."

Goals of the ZK project:

  • The same or better rich and interactive user interfaces as that of desktop applications.
  • The same or better simplicity to develop Web applications as that of desktop applications.
  • A good architecture and community to encourage collaboration.


  • Over 60 XUL and 80 XHTML components are supported, including list boxes, tree, drag-and-drop, auto-completion, sliders, timer, combo boxes, audio and many others.
  • Server centric. Visual representation and content are synchronized automatically between clients and servers.
    The best way to use Ajax is not to know its existence.
  • Script in Java and EL expressions. No JavaScript. No compilation. No proprietary expressions or scripts.
  • Simple threading model. No prerequisite of handling threading and concurrent accesses. Yet no limitation to apply any sophisticated threading on your demand.
  • Flexible threading model. Easy to suspend and resume your application without blocking users. Supports true server-side modal dialogs.
  • Easy to develop new components with supports of template and synchronization technologies.
  • Easy to encapsulate a pure-client JavaScript widget into a server-centric Java component, such as FCKeditor and Dojo.
  • Easy to power applications with versatile components, as simple as dropping jar files into the class path.
  • An open community to share components, themes and utilities.
  • Zero configurations and compilation. Maintaining ZUML pages is as easy as maintaining HTML pages.
  • No prerequisite of any design patterns. For fast protyping, you could embed Java codes directly in ZUML pages. For sophisticated applications, you could apply MVC or others. The choice is yours, not framework.




Related Resources

Other Resources