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.