Vaadin | |
---|---|
Тип | библиотека Java[вд], веб-фреймворк и свободное и открытое программное обеспечение |
Написана на | Java[3] |
Первый выпуск | 2002[1] |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | |
Репозиторий | github.com/vaadin/framew… |
Лицензия | Apache License 2.0[4] |
Сайт | vaadin.com (англ.) |
Медиафайлы на Викискладе |
Vaadin — свободно распространяемый фреймворк для создания RIA-веб-приложений, разрабатываемый одноимённой финской компанией. В отличие от библиотек на JavaScript и специфических плагинов для браузеров, Vaadin предлагает сервер-ориентированную архитектуру, базирующуюся на Java Enterprise Edition. Использование JEE позволяет выполнять основную часть логики приложения на стороне сервера, тогда как технология AJAX, используемая на стороне браузера, позволяет взаимодействовать с пользователем с интерактивностью, близкой к таковой по эргономике и возможностям настольных приложений. Для отображения элементов пользовательского интерфейса и взаимодействия с сервером на стороне клиента Vaadin использует собственный набор веб-компонентов или JavaScript-библиотеки Vue, React и Angular.
Использование Java как единственного языка программирования при создании веб-приложений и веб-контента — одна из наиболее значимых функций в Vaadin. Фреймворк использует событийную модель и определённые элементы пользовательского интерфейса, виджеты, что делает её очень близкой к модели разработки настольных приложений на Java с использованием HTML и JavaScript.
Организация модели данных и виджетов позволяет отображать в браузере большие объёмы данных без значительной загрузки оперативной памяти и без дополнительных действий со стороны разработчика. Использование Google Web Toolkit для отображения страниц с результатами поиска и обработки действий пользователя (наподобие терминального клиента). Так как Google Web Toolkit функционирует только на стороне клиента, Vaadin добавляет дополнительную валидацию данных на стороне сервера: это решает проблемы безопасности, связанные с возможностью подмены данных или кода Javascript. Соответственно, при изменении и повреждении данных, поступающих от браузера, сервер, определив это, не пропускает запросы.
Расширяемость обеспечивается возможностью использования дополнительных виджетов, написанных для GWT, а также кастомизации при помощи CSS. Однако стандартное приложение, создаваемое на Vaadin, не требует программирования именно на GWT и последующей компиляции GWT-компилятором, если только разработчик не добавляет в проект нестандартные виджеты.
В 2002 году выпущен открытый проект Milestone 3, в качестве адаптера для которого была начата разработка Vaadin. В течение 2006 года концепт Vaadin был превращен в отдельный коммерческий продукт и, как следствие, большая часть API серверной части всё ещё совместима с API Milestone.
В начале 2007 года продукт был переименован в IT Mill Toolkit, была выпущена версия 4, использующая собственный, написанный на JavaScript, механизм для отображения интерфейса на стороне клиента и взаимодействия с сервером, что делало достаточно сложным создание новых виджетов. К концу того же года этот механизм был заменен на GWT. В то же время лицензия продукта становится открытой (Apache License 2.0).
В 2008 году в IT Mill инвестировал Микаэль Видениус[5][6] (сумма не раскрывалась).
4 марта 2009 года выпущен первый стабильный релиз IT Mill Toolkit 5, после более чем года бета-тестирования. 20 мая 2009 года IT Mill Toolkit изменил своё имя на Vaadin; тогда же был выпущен анонс о выходе версии 6, а также запущено интернет-сообщество Vaadin.
Vaadin сравнивался с Echo2[англ.] и ThinWire[англ.], использующими схожую сервер-ориентированную модель программирования. По состоянию на 2010-е годы Vaadin часто сравнивается с такими фреймворками как ZK Framework, AdobeFlex, Google Web Toolkit, Wicket и ICEfaces[англ.].