What's ZK"

From Documentation
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
==ZK: What It Is==
 
==ZK: What It Is==
  
ZK is an event-driven, component-based framework to enable rich user interfaces for Web applications.
+
ZK is an event-driven, component-based framework powering 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.
+
Events triggered by an end user, by an application, by server push and even by message queues are stacked and handled using the same mechanism.
  
Notifications of events and synchronization of component's states are done automatically. Ajax communication and browser dependency are totally transparent to the developers.
+
All UI components are simply POJOs, which developers can instantiate, manipulate and extend directly and straightforwardly.
  
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.
+
Notifications of events and synchronization of component's states are done automatically making Ajax communication and browser dependencies totally transparent to developers.
  
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.
+
In addition to pure Java,  ZK allows 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 ([http://www.beanshell.org BeanShell]), 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 responsiveness and leveraging 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==
  
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 assumes nothing about back-end services, persistence or inter-server communication. ZK is designed to be as thin as possible, while providing the seamless integration with other Java technologies. All of your favorite Java technologies such as JDBC, Hibernate, Spring, JSP, Java Mail, EJB or JMS work the same way as you are familiar with.
 
 
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<ref>Client-side programming could leverage jQuery's Ajax mechanism or ZK Update engine to synchronize with the server.</ref>.
 
  
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 doesn't provide RPC, RMI or other API for developers to communicate between clients and servers, since all code runs at the server<ref>Client-side programming could leverage jQuery's Ajax mechanism or ZK Update engine to synchronize with the server manually.</ref>.
  
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 doesn't enforce developers to use scripting, pure Java, markup languages, MVC or other design patterns, but providing them as options to satisfy the different skill set, methodologies, and demands that your team might have or be required to.
  
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.
+
ZK supports AJAX transparently but a ZK application is not limited to the scope of Ajax applications. With ZK Mobile and ZK Android, your applications could reach any devices not equipped with a modern browser.
  
 
<blockquote>
 
<blockquote>

Latest revision as of 09:47, 24 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 powering rich user interfaces for Web applications.

Events triggered by an end user, by an application, by server push and even by message queues are stacked and handled using the same mechanism.

All UI components are simply POJOs, which developers can instantiate, manipulate and extend directly and straightforwardly.

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

In addition to pure Java, ZK allows 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 (BeanShell), 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 responsiveness and leveraging 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-server communication. ZK is designed to be as thin as possible, while providing the seamless integration with other Java technologies. All of your favorite Java technologies such as JDBC, Hibernate, Spring, JSP, Java Mail, EJB or JMS work the same way as you are familiar with.

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

ZK doesn't enforce developers to use scripting, pure Java, markup languages, MVC or other design patterns, but providing them as options to satisfy the different skill set, methodologies, and demands that your team might have or be required to.

ZK supports AJAX transparently but a ZK application is not limited to the scope of Ajax applications. With ZK Mobile and ZK Android, your applications could reach any devices not equipped with a modern browser.


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