Vaadin | это... Что такое Vaadin? (original) (raw)
Vaadin
Тип | Веб-фреймворк |
---|---|
Разработчик | IT Mill |
Первый выпуск | май 20, 2009 (2009-05-20) |
Аппаратная платформа | Java |
Последняя версия | 6.8.5[1] (28 сентября 2012 года) |
Лицензия | Apache License 2.0 |
Сайт | http://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. Соответственно, при изменении и повреждении данных, поступающих от браузера, сервер, определив это, не пропускает запросы.
- Возможность расширения стандартного набора виджетов Vaadin за счет других виджетов, написанных для GWT, а также кастомизации его при помощи CSS. Однако стандартное приложение, создаваемое на Vaadin, не требует программирования именно на GWT и последующей компиляции GWT-компилятором, если только разработчик не добавляет в проект нестандартные виджеты.
История
Выпущен открытый проект Milestone 3, в качестве адаптера для которого была начата разработка Vaadin. Этот проект представил AJAX-ориентированную коммуникацию и механизм отображения.
В течение года концепт Vaadin был превращен в отдельный коммерческий продукт и, как следствие, большая часть API Vaadin (серверная часть) все ещё совместима с API Milestone.
В начале года продукт был переименован в IT Mill Toolkit. Была выпущена версия 4, использующая собственный, написанный на JavaScript, механизм для отображения интерфейса на стороне клиента и взаимодействия с сервером, что делало достаточно сложным создание новых виджетов. К концу года этот механизм был заменен на GWT. В то же время лицензия продукта становится открытой (Apache License 2.0).
11 cентября публично анонсировано, что Майкл Видениус, основной автор исходной версии СУБД MySQL, инвестировал[2][3] в IT Mill. Размер инвестирования остался нераскрытым.
- 2009
- 4 марта — выпущен первый стабильный релиз IT Mill Toolkit 5, после более чем года бета-тестирования.
- 20 мая — IT Mill Toolkit изменил свое имя на Vaadin. Тогда же был выпущен анонс о выходе версии 6, а также запущено веб-коммьюнити Vaadin.
Конкуренты
- Исторически, Vaadin сравнивался с Echo2 (en) и ThinWire (en), использующими схожую сервер-ориентированную модель программирования.
- В настоящий момент Vaadin часто сравнивается с такими фреймворками как Adobe Flex, Google Web Toolkit, Wicket и ICEfaces (en).
На веб-портале Vaadin так же доступна сравнительная матрица.
См. также
- AJAX
- Web 2.0
- Rich Internet Application
- GWT (Google Web Toolkit)
- GUI Machine (инструмент прототипирования веб-приложений, основанных на UI-компонентах Vaadin)
Ссылки
- Веб-коммьюнити Vaadin
- IT Mill
- Google Web Toolkit
- Server-side Ajax Framework: IT Mill Toolkit 5, now with GWT
- IT Mill Toolkit Open Source User Interface Framework
Примечания
- ↑ Release Notes for Vaadin Framework 6.8.5
- ↑ Michael "Monty" Widenius investing in Finnish IT Mill. Invest in Finland.(недоступная ссылка — история) Проверено 31 января 2009.
- ↑ Asay, Matt Monty Widenius invests in Act II: IT Mill. CNET News. Архивировано из первоисточника 4 апреля 2012. Проверено 31 января 2009.
Веб-фреймворки | |
---|---|
ASP.NET | DotNetNuke • ASP.NET MVC • MonoRail |
ColdFusion | ColdSpring • Fusebox • Mach-II • Model-Glue |
Java | Apache (Cocoon • Struts • Velocity • WebWork 2) • AppFuse • Aranea • Eclipse • Facelets • Flexive • FreeMarker • Google Web Toolkit • Grails • Hamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClient • Spring • Stripes • Tapestry • ThinWire • Vaadin • WebMacro • WebWork • WebObjects • Wicket • ZK |
JavaScript | node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JS • jQuery • jMaki • Microsoft AJAX Library • MochiKit • MooTools • Prototype • qooxdoo • Rialto Toolkit • Rico • script.aculo.us • SmartClient • Spry • SproutCore • Yahoo! UI Library • Underscore • PhoneGap |
Perl | Catalyst • Interchange • Titanium • Maypole • HTML:Mason |
PHP | Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniter • DIY • Drupal • Fuse • Horde • Kohana • LiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • Yii • Zend • Zoop • Joomla |
Python | CherryPy • Django • GAE framework • Karrigell • Nevow • Porcupine • Pylons • Pyramid • Spyce • TurboGears • Twisted • Tornado • Webware • Zope |
Ruby | Camping • Nitro • IOWA • Ramaze • Cerise • Merb • Ruby on Rails • Sinatra • Padrino |
Прочиеязыки | Alpha Five • Fusebox (ColdFusion • PHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL) |