ZK – enterprise Ajax framework

ZK is an open source asynchronous Ajax + Mobile framework which is designed to maximize enterprise operation efficiency and minimize the development cost by enabling the creation of rich graphical user interfaces for Web applications with little programming (basic knowledge of Java, HTML and XUL). It lets developers write Web 2.0-enabled, rich Internet application without needing a single line of JavaScript code.

This framework consists of an Ajax-based event-driven mechanism, over 123 XUL and 83 XHTML-based components, together with its own markup language for designing user interfaces. The mark-up language is very powerful. Instead of using other mark-up languages, ZK has a component based markup language called ZUML. ZK’s AJAX engine consists of both client and server components that communicate with one another.

The most powerful feature of ZK is its rich set of control libraries for user interface development.

ZK supports JSP/JSF/JavaEE/Spring., Ajax Push, and Ajax script in Java/Ruby/Groovy/Python/JavaScript.

Features include:

  • Declarative high level specification of rich (rather than plain HTML) user interfaces. For example the XUL widget set includes support for trees, comboboxes, bandboxes and sliders.
  • Embedding scripting support with Java (Beanshell).. Optional support for other serverside Java scripting in other languages such as JavaScript (Rhino), Ruby (JRuby), Python (Jython) and Groovy.
  • High level Ajax support. User input passes from the browser to the serverside desktop model over Ajax.
  • Event-driven component-based model (similar to desktop programming models).
  • Fast prototyping.
  • Support for creating user interfaces using different patterns. A MVC programming approach can be adopted with all events forwarded to a central controller class. Alternatively event handlers can be defined within the page using zscript. The MVC page approach is analogous to Swing programming and the in-page approach is analogous to DHTML programming on the server.
  • Support for integrating with existing web frameworks via a JSP custom tag library, JSF support and a Servlet Filter. Has support for Spring and Hibernate.
  • Extensible in that programmers can create new custom UI controls. Groups of controls can be re-used as a macro component.
  • Databinding capability via in-page annotations that transparently bind screen controls to the fields of POJOs on the server.
  • Over 200 off-the-shelf state-of-art XUL/HTML-complaint Ajax components.
  • Numerous third party widgets: JFreeChart, JasperReports, Google Maps, FCKeditor, Timeline, Timeplot, ExtJS, Dojo etc.
  • CSS-based skinning, template-based looks and customizable behavior.
  • Drag-and-drop, animation, context menus, and so on.
  • Bookmark management and SEO (Search Engine Optimization) supported.
  • Supports high scalability and availability with serializable user interfaces and a pluggable failover manager.
  • Enterprise support

Website: www.zkoss.org
Support: Blogosphere, GitHub Code Repository
Developer: Potix Corporation
License: GNU Lesser General Public License, version 2.1


ZK is written in Java and JavaScript. Learn Java with our recommended free books and free tutorials. Learn JavaScript with our recommended free books and free tutorials.

Return to Rich Internet Application Frameworks Home Page | Return to Mobile Application Development Frameworks Home Page

Ongoing series
Linux for StartersNew to Linux? Read our Linux for Starters series.
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Supplied with our legendary ratings charts.
Linux ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software.
Alternatives to GoogleAlternatives to Google's Products and Services examines your options to migrate from the Google ecosystem with open source Linux alternatives.
MicrosoftAlternatives to Microsoft's Products and Services recommends open source Linux software.
Linux System ToolsEssential Linux system tools looks at small, indispensable utilities, useful for system administrators as well as regular users.
Linux ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
Home Computer EmulatorsHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy opens up to the lighter side of Linux. Have some fun!
Best Free Android AppsBest Free Android Apps. There's a strict eligibility criteria for inclusion in this series
Programming BooksThese best free books accelerate your learning of every programming language
Programming TutorialsThese free tutorials offer the perfect tonic to the free programming books series
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.