вторник, 9 ноября 2010 г.

Установка и настройка ZK

Доброго времени суток.
Я бы хотел начать свой рассказ о ZK с неожиданной стороны, а именно с настройки инструментария для разработки. Нет конечно же все можно делать и в блокноте, но мне все таки кажется что это не совсем правильно. По крайней мере по отношению к нашей теме.
Изначально ZK предоставляет нам уже отличный готовый инструментарий разработки который интегрируется в очень популярную IDE Eclipse http://www.eclipse.org/downloads/.
Этот инструмент называется ZK Studio http://www.zkoss.org/product/zkstudio.dsp.
Основные возможности:
-Визуальный построитель интерфейсов
-Редактор с подсветкой и автокомплитом
-Визуальная палитра компонентов ZK
-Различные визарды
-Zeta DB Form Builder - штука интересная, но на мой взгляд совершенно бесполезная потому что в более менее крупных проектах все писать приходится ручками.
Начнем с установки ZK Studio. Как и любой другой модуль к эклипсу его можно установить через пункт меню Help->Install New Software... В появившемся окне нажимаем на кнопку add и введите в нее название(Например ZK) и ссылку для установкиhttp://studioupdate.zkoss.org/studio/update.

После добавления внизу в списке появится Плагин который и надо установить. Жмем далее соглашаемся со всем что нам предлагают и ждем загрузки и установки модуля.


После установки нас попросят перезапуститься для того чтобы начать работу с модулем.
Для начала нам надо настроить модуль. Я бы советовал сделать две вещи, во первых зарегистрироваться на сайте ZK так как это даст несколько преимуществ(например доступ к документации). После прохождения регистрации можно активировать модуль. Это делается в разделе меню Window->Preferences в появившемся окне выбираем пункт ZK->ZK Account в нем надо ввести свои учетные данные и нажать кнопку Activate. Во вторых в этом же разделе в пункте ZK Packages по умолчанию стоит версия ZK 3.6. Ее надо поменять на более свежую 5.0.5. Для этого скачиваем с официального сайта архив и добавляем его в пакеты http://www.zkoss.org/download/zk.dsp. Замечу что в ZK есть как бесплатная так и платные версии. ZK CE - является бесплатной, а вот ZK PE и ZK EE - платные и после их установки и запуска проработают шесть дней.
Все мы практически готовы к написанию нашего первого приложения - осталась одна вещь, так как это web то и тестировать как простое приложение у нас не получится для этого нам надо настроить сервер приложений. Для ZK рекомендуется использовать Apache Tomcat http://tomcat.apache.org/. Его настройку мы произведем из окна создания проекта. Для этого заходим в пункт меню New и выбираем там ZK Project.


В появившемся окне вводим название, выбираем версию библиотек ZK и версию web-module(ZK поддерживает версии 2.3, 2.4, 2.5). Все готово к созданию первого приложения, но как я и говорил мы еще настроим наш контейнер сервлетов в котором приложение будет деплоится. Нажмем не кнопку New Runtime.


Выбираем нужную нам версию Tomcat. Я использую 6. Жмем Next и указываем на директорию где установлен Tomcat. Все каркас приложения готов. После нажатия Finish мы увидим открывшееся окно проекта. Теперь для полного комфорта нам осталось отобразить все панели ZK. Это делается из меню Window->Open Perspective->Other.


Выбираем ZK. Теперь Eclipse полностью настроен для работы с фреймворком.


На рисунке по пунктам отмечены следующие элементы.
1) Project Explorer - здесь мы видим всю структуру проекта, входящие в него файлы, библиотеки и т.д. На самом деле ZK не представляет из себя что то сверх сложное, все что нужно для его работы это разместить все библиотеки ZK в папке lib и правильно настроить два файла web.xml и zk.xml.
2) Основное окно написания кода - имеется подсветка синтаксиса, автокомплит и прочее. Так же редактор покажет ошибку и не предложит вам добавить компонент который логически не может находится внутри другого объекта. Например внутрь компонента Label нельзя поместить компонент Windows.
3) Палитра компонентов ZK. Для того чтобы создать какой либо объект надо перетащить его из палитры в окно кода.
4) Окно визуального отображения кода - служит только для визуального представления. Контролы не активны.
5) Структура нашей странички.
6) Окно со свойствами объекта. Тут отображаются свойства объекта, а так же обработчики событий. При добавлении значения к свойству оно автоматически появляется в окне кода.
Теперь можно запустить наше первое приложение. Для этого в окне Project Explorer нужно правой клавишей нажать на проекте и в появившемся меню выбрать раздел Run As->Run on Server. После того как приложения запустится мы увидим окно мини браузера который встроен в Eclipse.


Я бы не советовал в дальнейшем использовать его. Лучше копировать ссылку в браузер.
На этом я статью заканчиваю. Дальше будем ближе разбираться с компонентами ZK.
Удачи.

среда, 27 октября 2010 г.

Hello ZK

Добрый день уважаемые читатели.
Этот блог будет посвящен изучению RIA фреймворка ZK(zkoss.org). Считаю что этот достаточно молодой, но очень перспективный фреймворк незаслуженно обойден внимание в России.
Для начало общие сведения.
ZK - это бесплатный RIA framework который позволяет максимально быстро разрабатывать красивые и удобные в использовании web-сервисы. Для этого у него есть:
1) Более 200 готовых компонентов визуализации. Описывать я их буду позже а пока вот демо с сайта - оно говорит само за себя. http://www.zkoss.org/zkdemo/chart
2) Разработку можно полностью вести на языке Java, при этом время вхождения в технологию очень мало, что позволит начать разработку практически через несколько часов после прочтения документации. Все интуитивно понятно.
3) Возможность полностью управлять отображением и поведением компонентов посредством CSS.
4) Написание своих компонент.
5) Интеграция с такими популярными фреймворками как Hibernate и Spring. Полный список поддерживаемых платформ тут http://www.zkoss.org/product/platforms.dsp.
6) Большое сообщество разработчиков которые постоянно обновляют и дополняют ZK.
7) Безопасность - разработан с нуля и защищен от таких угроз как межсайтовый скриптинг, вредоносный JavaScript/SQL-инъекции и т.д.
8) Интеграция со средой разработки Eclipse с помощью ZK Studio http://www.zkoss.org/product/zkstudio.dsp
Это лишь не полный перечень основных возможностей ZK которые мы будем постепенно рассматривать в следующих статьях на примере создания реального приложения.