ZK OSS

from Wikipedia, the free encyclopedia
Example of a web interface under ZK6

ZK OSS is a source-open , in Java developed Ajax - web framework , the company Potix Corporation that enables users a graphical user interface for Web application to create. ZK consists of Ajax event-driven mechanisms, as well as XUL , XHTML and ZUML, a markup language, to create the user interface.

ZK uses a server-heavy method in which the synchronization of the components and the event pipeline between users and servers is handled automatically by ZK. ZK uses AJAX requests to the server to update the internal status of the individual components. For this purpose, ZK downloads a JSON description of the website and then renders it on the user side. Furthermore, ZK downloads the website sequentially over several requests, and not the entire content at once. In particular, this means that ZK does not send form fields with GET or POST requests to the server, as provided by the standard request-response mechanism.

technology

The logic is programmed in Java , the layout is defined in so-called ZUL files, which are structured similar to JSP files and can also contain HTML elements and JavaScript code. The logic part in the Java file for the various components (widgets) is automatically linked to the layout part in the ZUL file via "autowiring-by-name". In the case of a request from the web browser , the logic in the Java file is first processed on the server side and then the completed response is generated with the layout defined in the ZUL file and sent back to the browser. The request is processed and displayed in the browser together with the client-side component part (pre-) implemented in JavaScript / Ajax . The principle is similar to that of other server-side web frameworks, such as Vaadin .

Usually, the ZUL file not only contains the layout, but logic in the style of JavaScript commands is often also defined for the individual components. In most cases this is done in order to implement client-side interactions between the various components of a website and thus avoid requests to the server. However, this means that the separation of logic and layout is no longer properly maintained. On the other hand, the possibility of inserting HTML tags, CSS styles or JavaScript code in the ZUL files helps to quickly and easily carry out adaptations and extensions beyond the ZK basic functionalities.

Differences to XUL

  • ZK is a server-side framework, which means that there is no need for the client to have Gecko installed. Instead, ZK processes ZUML files directly and returns dhtml files for the browser.
  • ZK is directly linked to Java - this makes it possible to use more complex programming logic.

License

ZK OSS is available in three editions: The ZK CE edition (Community Edition) is available under the LGPL open source license . The ZK PE and ZK EE editions are available under the ZK Open Source License or a commercial license.

The paid editions offer additional functionalities such as B. Charts and pivot tables, which can be used primarily for data collection and visualizations. ZK Charts is an API for visualizing the server-side data for the user. The ZK pivot table allows the programmer to collect data in a table and to use pre-installed tools for visualization.

Web links

Individual evidence

  1. https://link.springer.com/book/10.1007%2F978-1-4302-0440-4
  2. https://www.zkoss.org/wiki/ZUML_Reference
  3. ^ Licensing. Potix Corporation website (zkoss.org), accessed March 17, 2017 .
  4. https://www.zkoss.org/wiki/ZK_Charts_Essentials
  5. https://www.zkoss.org/wiki/ZK_Pivottable_Essentials