ZK Framework

A highly productive open source Java framework for building amazing enterprise web and mobile applications.

End-to-End Productivity

Shallow Learning Curve

Shallow Learning Curve

ZK brings the simplicity of desktop programming to Ajax development, thanks to its event driven and component based patterns.

All events, server push, system events and user activities alike, are encapsulated as generic events to be handled generically. All components are LEGO-like building blocks which allow developers to compose UI with ease.

In addition, ZK provides a markup language - ZUML, making the design of rich user interfaces as simple and fast as authoring HTML pages. No programming is required.

Agile Design

Agile Design

UI presentation can be done in XML without programming and compilation, so UI designers and business analysts can work together and experiment with different designs on-the-fly.

The process of UI design can be iterated quickly without Java programming, shortening the design phase and inspiring better design.


Fast Prototyping

Fast Prototyping

To fulfill the complex business requirements, ZK offers 200+ enterprise grade Ajax components right off the box so UI designers can easily find the right component for the right job.

ZUML enables developers to effectively embed scripting within the markup declarations so a fast proof of concept can be endowed with the behavior and functionalities of its intended purposes, for a quick project kick-off.

Developers are allowed to handle user interface using any one of the popular scripting languages, such as Groovy, Python, Ruby, and JavaScript. The BeanShell interpreter for Java is set as the default script interpreter

Rapid Development

Rapid Development

ZK is a Java based Ajax framework where instructions are executed at the server by default, Web application developers can continue to use their well versed Java language and all its proven enterprise technologies to develop ZK applications.

Developers can continue to use their favorite Java IDEs, debuggers, and profilers in their Web development. For Eclipse users, ZK offers ZK Studio, an Eclipse plugin released by the ZK team with features like WYSIWYG UI editor, component palette for easy drag-and-drop building of the UI presentation, and ZK MVC extractor for converting scripting done in the prototyping phase to Java classes, following the MVC pattern to decouple the View from Model and Control. A NetBeans plugin, REM, a contribution from ZK's community, is available for the NetBeans users.

ZK is component based and event driven, which simplifies Ajax application development to a desktop programming experience without having to be concerned with JavaScript programming, cross-browser issues, complex Ajax communications and other factors well noted for the high cost of Ajax Web development.

Automated Testing

Automated Testing

To facilitate automated testing, ZK offers a straight-forward testing suite, ZATS, allowing developers to test their applications without the need for any servlet container.

ZATS Mimic can be used with most popular unit testing frameworks such as JUnit and TestNG to provide an easy out-of-the-box way to test your ZK applications. ZATS shortens the development lifecycle of a project as it enables developers to test large sections of their applications quickly and easily by virtue of its automation, the speed at which tests can be written due to the intuitive API along with the fact that application servers are no longer needed makes restarts as a thing of the past.

Performance Tuning

Performance Tuning

ZK's pluggable architecture empowers developers with the flexibility to intercept and inject instructions through out the program execution.

Developers are given the utilities to analyze the statistics of timestamps of the request-response cycle for each Ajax request; from client request, server side processing, server response, to client side rendering.

Great efforts are taken to minimize the memory footprint of Ajax components on the server, such as rendering components as stateless when Ajax functionalities are not required. With ZK's Server+client Fusion architecture, developers can also create client-side objects which exist strictly in the browser without burdening the server resources.

Further more, user activities are grouped based on application's requirements and sent in batch to minimize network traffic.

All of these architectural innovations allows developers having full control of the Web application and greatly facilitates the performance tuning process.