Vaadin

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Vaadin
Vaadin-logo-hi.png
Тип

java-библиотека[d] и каркас веб-приложений

Написана на

Java

Аппаратная платформа

Java Virtual Machine

Последняя версия

7.7.5 (23 ноября 2016)[1]

Лицензия

лицензия Apache

Сайт

vaadin.com

Vaadin — свободно распространяемый фреймворк для создания RIA-веб-приложений, разрабатываемый одноимённой финской компанией. В отличие от библиотек на Javascript и специфических плагинов для браузеров, Vaadin предлагает сервер-ориентированную архитектуру, базирующуюся на Java Enterprise Edition. Использование JEE позволяет выполнять основную часть логики приложения на стороне сервера, тогда как технология AJAX, используемая на стороне браузера, позволяет интерактивно взаимодействовать с пользователем, не отставая от аналогичных десктоп-приложений. Для отображения элементов пользовательского интерфейса и взаимодействия с сервером на стороне клиента Vaadin использует Google Web Toolkit.

Возможности[править | править вики-текст]

Использование Java как единственного языка программирования при создании веб-приложений и веб-контента — одна из наиболее значимых функций в Vaadin. Фреймворк использует событийную модель и определенные элементы пользовательского интерфейса, виджеты, что делает её очень близкой к модели разработки настольных приложений на Java с использованием HTML и Javascript

Организация модели данных и виджетов позволяет отображать в браузере большие объёмы данных без значительной загрузки оперативной памяти и без дополнительных действий со стороны разработчика. Использование Google Web Toolkit для отображения страниц с результатами поиска и обработки действий пользователя (наподобие терминального клиента). Так как Google Web Toolkit функционирует только на стороне клиента, Vaadin добавляет дополнительную валидацию данных на стороне сервера: это решает проблемы безопасности, связанные с возможностью подмены данных или кода Javascript. Соответственно, при изменении и повреждении данных, поступающих от браузера, сервер, определив это, не пропускает запросы.

Расширяемость обеспечивается возможностью использования дополнительных виджетов, написанных для GWT, а также кастомизации при помощи CSS. Однако стандартное приложение, создаваемое на Vaadin, не требует программирования именно на GWT и последующей компиляции GWT-компилятором, если только разработчик не добавляет в проект нестандартные виджеты.

История[править | править вики-текст]

В 2002 году выпущен открытый проект Milestone 3, в качестве адаптера для которого была начата разработка Vaadin. Этот проект представил AJAX-ориентированную коммуникацию[уточнить] и механизм отображения. В течение 2006 года концепт Vaadin был превращен в отдельный коммерческий продукт и, как следствие, большая часть API Vaadin (серверная часть) все ещё совместима с API Milestone.

В начале 2007 года продукт был переименован в IT Mill Toolkit, была выпущена версия 4, использующая собственный, написанный на JavaScript, механизм для отображения интерфейса на стороне клиента и взаимодействия с сервером, что делало достаточно сложным создание новых виджетов. К концу того же года этот механизм был заменен на GWT. В то же время лицензия продукта становится открытой (Apache License 2.0).

11 сентября 2008 года публично анонсировано, что Майкл Видениус, основной автор исходной версии СУБД MySQL, инвестировал[2][3] в IT Mill. Размер инвестирования остался нераскрытым.

4 марта 2009 года выпущен первый стабильный релиз IT Mill Toolkit 5, после более чем года бета-тестирования. 20 мая 2009 года IT Mill Toolkit изменил своё имя на Vaadin; тогда же был выпущен анонс о выходе версии 6, а также запущено интернет-сообщество Vaadin.

Конкуренты[править | править вики-текст]

Исторически, Vaadin сравнивался с Echo2 (en) и ThinWire (en), использующими схожую сервер-ориентированную модель программирования. По состоянию на 2010-е годы Vaadin часто сравнивается с такими фреймворками как ZK Framework, Adobe Flex, Google Web Toolkit, Wicket и ICEfaces (en).

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

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