ZK è un framework guidato da eventi e basato su componenti per la creazione di ricche interfacce utente per applicazioni Web. ZK comprende: un motore guidato da eventi e basato su
AJAX, un ricco insieme di componenti XUL e XHTML, un linguaggio di markup chiamato
ZUML (ZK User Interface Markup Language).
Con ZK lo sviluppatore rappresenta la propria applicazione attraverso l'uso di componenti XTML e XUL che gestisce attraverso gli eventi generati dall'attività dell'utente, come succede da anni nelle normali applicazioni desktop. A differenza di molti altri framework, AJAX in questo caso fa un lavoro dietro le quinte. La sincronizzazione del contenuto dei componenti e il pipeling degli eventi è infatti gestito automaticamente dal motore di ZK.
Grazie alle sue potenzialità e caratteristiche uniche gli utenti sperimentano la stessa interattività delle applicazioni desktop, e anche per lo sviluppatore la realizzazione di un'applicazione diviene semplice come creare un normale programma per pc.
Tornando a ZUML, il linguaggio di markup del framework ZK, è possibile disegnare l'interfaccia utente senza scrivere una sola riga di codice perché grazie ai namespace XML, ZUML integra differenti insiemi di tag nella stessa pagina. Attualmente sono supportati i tag di XUL e HTML.
Per personalizzare e potenziare l'applicazione ZUML permette anche di incorporare direttamente codice Java ed espressioni EL.
ZK è rilasciato sotto licenza GPL, anche se è disponibile una versione commerciale per coloro vogliano una maggiore libertà d'utilizzo del prodotto.