ZK (framework)
≈ 5 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge. The core of ZK consists of an Ajax-based event-driven mechanism, over 123 XUL and 83 XHTML-based components, and a mark-up language for designing user interfaces. Programmers design their application pages in feature-rich XUL/XHTML components, and manipulate them upon events triggered by end user's activity. It is similar to the programming model found in desktop GUI-based applications. ZK uses a server-centric approach in which the content synchronization of components and the event pipe-lining between clients and servers are automatically done by the engine, and Ajax plumbing codes are completely transparent to web application developers. Therefore, the end users get the similar engaged interactivity and responsiveness as a desktop application, while programmers' development retains a similar simplicity to that of desktop applications. ZK does not use the standard web request-response mechanism and does not send form fields to the server by making a GET request with query parameters or a POST request. Instead, AJAX requests are sent to the server to update the internal state of each screen widget.…
ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge. The core of ZK consists of an Ajax-based event-driven mechanism, over 123 XUL and 83 XHTML-based components, and a mark-up language for designing user interfaces. Programmers design their application pages in feature-rich XUL/XHTML components, and manipulate them upon events triggered by end user's activity. It is similar to the programming model found in desktop GUI-based applications. ZK uses a server-centric approach in which the content synchronization of components and the event pipe-lining between clients and servers are automatically done by the engine, and Ajax plumbing codes are completely transparent to web application developers. Therefore, the end users get the similar engaged interactivity and responsiveness as a desktop application, while programmers' development retains a similar simplicity to that of desktop applications. ZK does not use the standard web request-response mechanism and does not send form fields to the server by making a GET request with query parameters or a POST request. Instead, AJAX requests are sent to the server to update the internal state of each screen widget. At the browser, ZK only downloads a JSON description of the web page and uses a client renderer to turn that into a UI. It's quite efficient and under closer inspection, does not download everything at once. A look at the traffic between client and the server reveals several requests going back and forth between client and browser until the page rendering eventually completes. The optional client-side customization allows the developer to leverage the client-side resources with the so-called server+client fusion, for customization and to reduce the Ajax traffic. In addition to component-based programming in a manner similar to Swing, ZK supports a mark-up language for rich user interface definition called ZUML. ZUML is designed for non-programmer developers to design user interfaces intuitively. ZUML allows developers to meld different markup languages, such as Mozilla XUL language and XHTML, seamlessly into the same page. ZUML allows developers to embed scripts in pure Java language (interpreted by BeanShell) and use EL expressions to manipulate the components and access data. ==System requirements== JRE version 1.5 or later A Web server supporting Servlet 2.3 or later ==Prerequisites of programming skills== ===Required=== Basic knowledge of Java or a Java scripting engine language such as Groovy, Rhino (Java JavaScript), JRuby (Java Ruby) or Jython (Java Python) Basic knowledge of HTML and XUL ===Optional=== Knowledge of a scripting language to write the glue logic (running on the server): BeanShell (Java interpreter), JavaScript, Groovy, Ruby, Scala and Python Object Oriented Programming Servlet Programming Ajax JavaScript (client-sided) Declarative Databindings JSTL style Expression Language ==ZUML== ZUML (ZK User Interface Markup Language) is a markup language for rich user interfaces definition. ZUML is designed for non-programmers to design user interfaces efficiently with the ZUML markup ZUML allows developer to meld different markup languages, such as Mozilla XUL language and XHTML, seamlessly into the same page. ZUML allows developers to embed script in pure Java language (interpreted by BeanShell) and use EL expressions to manipulate the components and access data. ZUML is supported by ZK. Official Documentation : ZUML Reference ==Client-side technologies== ZK is a server-centric framework. Technically knowledge about the implementation is not required at the client side. This enables ZK Mobile to run on Java Mobile VM. Since ZK 5.0, the so-called Server+client Fusion architecture is introduced. Developers are allowed to access the client-side widgets directly if they want to. ZK Client Engine is based on jQuery. Technically you can use jQuery-compliant libraries and widgets. ==See also== List of rich web application frameworks Comparison of JavaScript frameworks List of Ajax frameworks List of widget toolkits based on JavaScript ==References== ==External links==
Text derived from https://en.wikipedia.org/w/index.php?oldid=1357906251 under CC BY-SA 4.0; modifications have been made.