What's ZK

From Documentation

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, 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.

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.

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.

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.

Quiz

  1. Where does ZK execute java code?
  2. ZK has a XML based GUI, what is its name?
  3. What script code does ZK support now?
  4. Where does ZK execute embedded script code? Server or client?
  5. Does ZK need tunnel or RMI? Why?

Refernce



Last Update : 2010/09/03

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.