Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News ZK Ajax Java Web Framework: Ajax with no Javascript

ZK Ajax Java Web Framework: Ajax with no Javascript

The ZK open-source Ajax Java Web framework recently released 2.1 RC.  ZK is implemented using an AJAX based event-driven engine. On top of this rules are XUL and XHTML based components which developers make use of through ZUML (ZK User Interface Markup Language). Developers manipulate the components they define upon events trigger by user activity as they have for years in desktop applications. For fast prototyping and customization, Java and EL expressions can be embedded in ZUML.

Unlike Javascript embedded in HTML, ZK executes all embedded codes on the server. ZK features the ZK AU Engine running on the server and the ZK Client Engine running in the browser. These two work together to deliver events happening in the browser to the server and update the DOM tree of the browser based on how components are manipulated by the application. ZK's goal is provide the same UI experience for web applications as desktop applications while keeping the simplicity level of development. All of this is done without forcing the developer to use Javascript. Features in the current version include:

  • Over 60 XUL and 80 XHTML Components are support including, sliders, auto-completion, audio, trees and many more
  • Create your own components or integrate in others such as Dojo and FCKEditor
  • Server centric. Visual representation and content are automatically synchronized between clients and servers.
  • Simple / Flexible Threading Model supporting such features as Model Dialogs
  • No prequisite design patterns, embed Java directly in ZUML pages, apply MVC, the choice is yours
  • Supports IE 6/7, Firefox 1+, Safari 2+
  • No browser plugin needed

One of ZK's creators, Tom Yeh of Potfix was recently interviewed by Agile Ajax.  In regards to ZK versus Echo2:

Echo2 assumes UI designers are Swing programmers, while ZK assumes many of them are not programmers.

In respect to Google GWT as a competitor or a compliment:

Both ... From a technological viewpoint, it is a complement. GWT is a client-side solution and quite good for developing Ajax components ... It would be great if we can leverage GWT's power to simplify the effort of component development (as we did with DOJO and FCKeditor) ... From a perception level, users might see it as a competitor. Google is now at a sweet spot with plenty of resources and a good reputation...

ZK features a dual license model. Commercial pricing options include per-devleoper, per-cpu, and royalty-free. More information can be obtained on the ZK website.

Rate this Article