ZK (フレームワーク)

ZKは、Javaで書かれたオープンソースのAjaxWebアプリケーションフレームワークであり、プログラミング知識がほとんどなくともJavaScriptを使うことなくウェブアプリケーションのリッチなGUIを作成できる。
ZKの中核はAjaxベースのイベント駆動機構であり、123以上のXULと83のXHTMLベースのコンポーネントから成り、ユーザインタフェースを設計するためのマークアップ言語を備えている。高機能なXUL/XHTMLコンポーネントを使ってWebページを設計でき、エンドユーザーの活動を契機とするイベントによってそれらを操作できる。デスクトップのGUIアプリケーションのプログラミングモデルとよく似ている。
ZKの方式はサーバ中心型の手法と呼ばれ、コンポーネント間の同期やクライアント/サーバ間のイベントパイプラインはエンジン部が自動的に行い、Ajaxの組み立て用コードはアプリケーション開発者に対して完全に透過的である。したがって、エンドユーザーから見ればデスクトップアプリケーションのような操作性を提供し、一方で開発者にはデスクトップアプリケーションと同様の単純さを保持している。
Swingのようなコンポーネントベースのプログラミング作法に加え、ZKはリッチなユーザインタフェース定義のためのマークアップ言語ZUMLをサポートしている。
ZUML.
ZUML (ZK User Interface Markup Language) は、リッチなUI定義のためのマークアップ言語である。
バージョン 5.0 での仕様強化.
JavaScriptを使うことなく Ajaxな WebアプリケーションのリッチなGUIを作成できることを売りにしていたが、5.0 から Jquery(JavaScriptライブラリ)を開発者が積極的に利用し、 サーバ中心型の手法だけでなく、サーバ　クライアント融合型の手法もとれるようになった。
バージョン 6.5.0 での仕様強化.
デスクトップとタブレットのUIとタッチエクスペリエンスの領域を、1つのコードベースおよびコンポーネントのセットで解決して融合し、実デバイスの透過性を最も簡単で最も効率的な方法で実現する。