ZKとは?

ZKはイベント駆動型コンポーネントをベースにした、豊富なユーザーインターフェイスのあるウェブアプリケーションを可能にするフレームワークです。ZKはAjJaxをベースにした駆動型エンジンと豊富なXUL・XHTMLコンポーネント集とZUMLと呼ばれる(ZKユーザーインターフェースマークアップ言語)マークアップ言語を提供しています。

ZKの特徴のある多彩なXULとXHTMLコンポーネントでアプリケーションを表現することができます。何年間もデスクトップアプリケーションの中でしてきたように、ユーザー操作によって行われるイベントはXULとXHTMLにより処理しています。ほとんどの構成とは違い、AJAXは舞台裏の技術です。コンポーネントの同期とイベントの並行処理はZKエンジンにより自動的に行われます。

デスクトップアプリケーションを開発する簡単なレベルで、同じ程度の対話と応答ができます。

シンプルなモデルと豊富なコンポーネントに加え、ZKはZUMLと呼ばれるマークアップ言語をサポートしています。ZUMLはXHTMLのようなもので、開発者にユーザーインターフェイスをプログラムなしでデザイン可能にしています。XMLのネーム空間を用いて、ZUMLはシームレスな、異なったタグ[2]セットを同じページに組み込むことができます。現在、ZUMLはXULとHTMLの二つのタグセットに対応しています。

迅速なプロトタイピングやカスタマイズ化するため、開発者はZUMLにてELまたはJava[3], JavaScript[4], Ruby[5] and Groovy[6]等のスクリプトを使用することができます。必要がなければ開発者はスクリプトを使わなくても結構です。JavaScriptがHTMLに埋め込まれているのと違って、ZKはサーバー側でスクリプトを実行します。

ここで全てのタスクはサーバー側で実行しているというのは開発者の立場で言ったものです。コンポーネントを開発するデベロッパーは対話とシンプルのバランスを取りながら、それぞれのタスクがサーバー側またはクライアント側いずれかで決定しなければなりません。



[2] タグはXML要素です。コンポーネントはZUMLページが翻訳された時に生成されました。

[3] JavaインタプリタはBeanShell (http://www.beanshell.org)を使用します。

[4] JavaScriptインタプリタはRhino (http://www.mozilla.org/rhino)を使用します。

[5] RubyインタプリタはJRuby (http://jruby.codehaus.org/)を使用します。

[6] GroovyインタプリタはGroovy (http://groovy.codehaus.org/)を使用します。