What's ZK"

From Documentation
Line 8: Line 8:
 
ZK is an event-driven, component-based framework to enable rich user interfaces for Web applications.
 
ZK is an event-driven, component-based framework to enable rich user interfaces for Web applications.
  
Events triggered by an end user, by an application, and by server push are consolidated and they can be handled the same way. All components are simply POJOs. The developers can instantiate and manipulate them directly and straightforward. Notifications of events and synchronization of component status are done automatically.
+
Events triggered by an end user, by an application, by server push and even by message queues are consolidated. They can be handled in the same way. All components are simply POJOs. The developers can instantiate and manipulate them directly and straightforward.
  
Ajax communication and browser dependency are totally transparent to the developers.
+
Notifications of events and synchronization of component's states are done automatically. Ajax communication and browser dependency are totally transparent to the developers.
  
In additions to pure Java,  ZK allows the developers to design UI in a markup language called ZUML (ZK User Interface Markup Language), which is an enhanced version derived from XUL. ZUML supports EL expressions, declarative control, and many scripting languages, including Java, Groovy, Ruby, JavaScript, and more.
+
In additions to pure Java,  ZK allows the developers to design UI in a markup language called ZUML (ZK User Interface Markup Language), which is an enhanced version derived from XUL. ZUML supports EL expressions, declarative control, and many scripting languages, including Java, Groovy, Ruby, and more.
  
While the code of a ZK application, for best productivity and security, runs at the server, ZK's server+client fusion architecture allows developers to optimize the responsiveness and leverage the client power by distributing some application code to the client.
+
While most of ZK application's code, for best productivity and security, runs at the server, ZK's Server+Client Fusion architecture allows developers to optimize the responsiveness and leverage the client's computing power by distributing some of the application code to the client.
  
 
==ZK: What It Is Not==
 
==ZK: What It Is Not==

Revision as of 11:00, 3 September 2010

Stop.png This documentation is for an older version of ZK. For the latest one, please click here.


Welcome to ZK, the simplest way to make Rich Web Applications. This chapter describes what ZK is and is not. You may skip this chapter if you prefer to familiarize yourself with the feature and functionality of ZK right away.

ZK: What It Is

ZK is an event-driven, component-based framework to enable rich user interfaces for Web applications.

Events triggered by an end user, by an application, by server push and even by message queues are consolidated. They can be handled in the same way. All components are simply POJOs. The developers can instantiate and manipulate them directly and straightforward.

Notifications of events and synchronization of component's states are done automatically. Ajax communication and browser dependency are totally transparent to the developers.

In additions to pure Java, ZK allows the developers to design UI in a markup language called ZUML (ZK User Interface Markup Language), which is an enhanced version derived from XUL. ZUML supports EL expressions, declarative control, and many scripting languages, including Java, Groovy, Ruby, and more.

While most of ZK application's code, for best productivity and security, runs at the server, ZK's Server+Client Fusion architecture allows developers to optimize the responsiveness and leverage the client's computing power by distributing some of the application code to the client.

ZK: What It Is Not

ZK assumes nothing about back-end services, persistence or inter-sserver communication. ZK is designed to be as thin as possible, while providing MVC and the seamless integration. All of your favorite middleware technologies such as: JDBC, Hibernate, Spring, JSP, Java Mail, EJB or JMS work as they used to.

ZK doesn't provide RPC, RMI or other API for developers to communicate between clients and servers. This is because all code runs at the server[1].

ZK doesn't enforce developers to use scripting, pure Java, markup languages, MVC or other design patterns, while enabling all of them to fulfill the different skills, methodologies, and demands from different teams.

ZK is not a framework aiming to bring XUL to Web applications. It is aimed to bring the most productive-yet-totally-controllable programming model to Web applications.

ZK supports AJAX transparently but it doesn't end in where AJAX does. With ZK Mobile and ZK Android, your applications could reach any devices that support Java Mobile.


  1. Client-side programming could leverage jQuery's Ajax mechanism or ZK Update engine to synchronize with the server.