ZK OSS
ZK OSS ist ein quell-offenes, in Java entwickeltes Ajax-Webframework[1] des Unternehmens Potix Corporation, das Nutzern ermöglicht, eine grafische Benu…
ZK OSS ist ein quell-offenes, in Java entwickeltes Ajax-Webframework[1] des Unternehmens Potix Corporation, das Nutzern ermöglicht, eine grafische Benutzeroberfläche für Webanwendung zu erstellen. ZK besteht aus Ajax-event-driven-Mechanismen, sowie XUL, XHTML und ZUML, einer Markup-Sprache, um die Benutzeroberfläche zu erstellen.[2]
ZK verwendet eine serverlastige Methode, in der die Synchronisierung der Komponenten und der Event-Pipeline zwischen Nutzern und Servern automatisch von ZK abgehandelt werden. ZK benutzt AJAX-Anfragen an den Server, um den internen Status der einzelnen Komponenten zu aktualisieren. ZK lädt hierzu eine JSON Beschreibung des Webseite herunter und rendert diese dann auf der Nutzerseite. Weiterhin lädt ZK die Webseite sequentiell über mehrere Anfragen herunter, und nicht den gesamten Inhalt auf einmal. Insbesondere bedeutet dies, dass ZK nicht Formfelder mit GET- oder POST-Anfragen an den Server sendet, wie vom Standard-Anfrage-Antwort-Mechanismus vorgesehen wird.
Technik
Die Programmierung der Logik erfolgt in Java, die Definition des Layouts in sogenannten ZUL-Dateien, welche ähnlich wie JSP-Dateien aufgebaut sind und auch HTML-Elemente und JavaScript-Code enthalten können. Über „autowiring-by-name“ werden für die verschiedenen Komponenten (Widgets) der Logikteil in der Java-Datei mit dem Layoutteil in der ZUL-Datei automatisch verknüpft. Bei einem Request vom Webbrowser wird zuerst die Logik in der Java-Datei serverseitig verarbeitet und dann mit dem in der ZUL-Datei definierten Layout die fertige Antwort erzeugt und zum Browser zurückgeschickt. Im Browser wird der Request zusammen mit dem in JavaScript/Ajax (vor-)implementierten clientseitigen Komponententeil verarbeitet und angezeigt. Das Prinzip ist ähnlich wie auch bei anderen serverseitigen Webframeworks, wie zum Beispiel Vaadin.
Üblicherweise enthält die ZUL-Datei aber nicht nur das Layout, sondern es ist oft auch noch Logik im Stile von JavaScript-Befehlen zu den einzelnen Komponenten definiert. Dies wird in den meisten Fällen vorgenommen, um clientseitige Interaktionen zwischen den verschiedenen Komponenten einer Webseite zu implementieren und so Requests an den Server zu vermeiden. Dadurch wird jedoch die Trennung von Logik und Layout nicht mehr sauber eingehalten. Andererseits hilft die Möglichkeit, in den ZUL-Dateien HTML-Tags, CSS-Styles oder JavaScript-Code einzufügen, oft über die ZK-Basis-Funktionalitäten hinaus schnell und einfach Anpassungen und Erweiterungen durchzuführen.
Unterschiede zu XUL
- ZK ist ein serverseitiges Framework, wodurch die Anforderung an den Client, Gecko installiert zu haben, entfällt. Stattdessen verarbeitet ZK ZUML-Dateien direkt und gibt dhtml-Dateien für den Browser zurück.
- ZK ist direkt an Java angebunden – dadurch ist es möglich, komplexere Programmierlogik zu verwenden.
Lizenz
ZK OSS ist in drei Editionen verfügbar: Die Edition ZK CE (Community-Edition) steht unter der Open-Source-Lizenz LGPL. Die Editionen ZK PE und ZK EE sind unter der ZK Open Source License oder einer kommerziellen Lizenz verfügbar.[3]
Die kostenpflichtigen Editionen bieten zusätzliche Funktionalitäten wie z. B. Charts und Pivottabellen, welche vor allem für Datenkollektion und Visualisierungen verwendet werden können. ZK Charts ist eine API zur Visualisierung der serverseitigen Daten für den Nutzer.[4] Die ZK-Pivottabelle erlaubt dem Programmierer, Daten in einer Tabellenform zu sammeln und vorinstallierte Werkzeuge zur Visualisierung zu benutzen.[5]
Weblinks
Einzelnachweise
- ↑ https://link.springer.com/book/10.1007%2F978-1-4302-0440-4
- ↑ ZUML Reference/ZUML. In: zkoss.org. Abgerufen am 15. Juli 2025.
- ↑ Licensing. Website der Potix Corporation (zkoss.org), abgerufen am 17. März 2017.
- ↑ https://www.zkoss.org/wiki/ZK_Charts_Essentials
- ↑ https://www.zkoss.org/wiki/ZK_Pivottable_Essentials
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.