ZK Framework

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

Учебник по ZK Framework — инфраструктуре для построения AJAX-приложений.

Курсивное начертание=Введение=

Что такое ZK Framework[править]

ZK - это набор библиотек для разработки Web-приложений, отличающихся динамичным пользовательским интерфейсом. Основой ZK Framework являются два основополагающих понятия, таких как событие и компонента. Наличие этих двух базовых элементов позволяет осуществлять разработку web-ориентированных приложений практически таким же образом, как и обыкновенных desktop-приложений. А именно, задачей разработчика является создание и размещение на страницах приложения определенных элементов (компонентов) и имплементация обработчиков событий, позволяющих реализовать требуемое поведение приложения.

ZK включает в себя функционирующую с использованием технологии AJAX среду выполнения приложения, набор реализации стандартных компонентов (таких, как, например, окно, выпадающий список и т.п.) и язык разметки пользовательского интерфейса, называемый ZUML (ZK User Interface Markup Language).

С помощью ZK вы можете быстро набросать каркас вашего приложения с помощью ZUML в виде определенных компонент, размещенных на страницах, и манипулировать ими с помощью обработчиков событий точно также, как многие годы делали это в обычных desktop-приложениях. Аналогии с desktop-приложениями не ограничиваются разработкой. Пользователи ваших приложений получат похожую интерактивность и дружественность пользовательского интерфейса.

В отличие от многих подобных библиотек, реализация технологии AJAX спрятана от разработчика. Отображение содержимого компонент и передача событий от клиента к серверу производятся автоматически самой средой выполнения приложения ZK Framework.

ZUML подобно XHTML позволяет разработчику создавать пользовательский интерфейс, не используя программирования, как такового. С помощью различных пространств имён XML (XML namespaces) ZUML позволяет интегрировать на одной странице разные наборы тэгов. Самый простой пример - это использование XUL-тэгов (описывающих cтандартные и не очень компоненты библиотеки ZK) и обычного HTML.

Для того, чтобы ускорить процесс разработки, в ZUML можно использовать специальные EL-выражения и куски кода на script языке. В настоящее время реализована поддержка script для языков Java, JavaScript, Ruby и Groovy. В отличие от JavaScript, встроенного в HTML и выполняемого браузером, ZK выполняет все встроенные элементы (EL-выражения или куски script-кода) на сервере. Таким образом, достигается некий баланс между интерактивностью получаемого приложения, и его безопасностью за счет перенесения большей части функциональности с клиента на сервер.

Для кого этот учебник[править]

Данный учебник предназанчен как для начинающих web-разработчиков, так и опытных разработчиков, но не использовавших ранее подход AJAX, или использовавших другой инструментарий для разработки web-ориентированных AJAX приложений. Для усвоения материала, приведенного в данном учебнике необходимы базовые знания HTML, XML и Java.

Некоторые примечания[править]

При подготовке примеров в данном учебнике были использованы следующие версии программных продуктов:

  • ZK Framework 3.0 RC
  • Apache Tomcat 5.5

Ссылки и источники[править]

Ссылки[править]

Источники[править]

При подготовке данного учебника использовались следующие материалы:

Руководство по установке[править]

ZK состоит из нескольких библиотек (JAR файлов). Существует два способа их установки. Первый - встраивание непосредственно в ваше Web-приложение. Другими словами, вам необходимо просто скопировать библиотеки в каталог WEB-INF/lib вашего приложения. Преимущество данного способа - отсутствие необходимости конфигурировать Web-сервер.

Второй способ - инсталляция на Web-сервер или сервер приложений, на котором будет выполняться ваше приложение. В этом случае библиотеки необходимо скопировать в каталог сервера, содержащий общие библиотеки (на сервере Tomcat, например, это каталог shared/lib). Преимущество данного способа - отсутствие необходимости копировать библиотеки в каждый из выполняемых на сервере и использующих ZK проектов.

Способ 1. Встраивание в Web-приложение[править]

Скопировав библиотеки ZK в ваше Web-приложение, вы получите возможность развертывать его на любом Web-сервере без каких-либо дополнительных настроек.

Для того, чтобы установить ZK непосредственно в Web-приложение:

  • Распакуйте zk-bin-3.0.0-RC.zip или zk-bin-3.0.0-RC.tar.gz
  • Скопируйте файлы dist/lib/*.jar, dist/zkforge/*.jar, и dist/lib/ext/*.jar в каталог /WEB-INF/lib вашего web-приложения. Библиотеки в каталогах dist/zkforge и dist/lib/ext являются опциональными и могут быть скопированы только в случае необходимости (за подробностями обратитесь к описанию назначения этих библиотек).

Способ 2. Установка на Web-сервер[править]

-- index.zul --- <window apply="org.zkoss.zk.ui.BindComposer" viewModel="mvc.Controller" > <button label="click me" > </window>


Controller.java -------

package mvc ;


class Controller {

  @Listener("onclick=button")
  public void showmessage()
  {
      MessageBox.show("hello world....") ;
  }

}

Основы AJAX и ZK Framework[править]

Компоненты и их жизненный цикл[править]

AAA

Обработка событий в ZK Framework[править]

Язык ZUML[править]

Макро-компоненты[править]

Разработка собственных компонентов[править]