Vaadin
Vaadin - удивительно хороший инструмент для создания интерактивных веб-приложений в стиле рабочего стола, разработанных на чистом Java и поставляемых через обычные веб-браузеры.
Преимущества
Vaadin 6, 7 и 8 приложений работают полностью на стороне сервера. Библиотека JavaScript автоматически устанавливается Vaadin в окно браузера пользователя просто:
- Рисует на экране все, что ему говорит серверное приложение.
- Подача пользовательских действий (нажатие, ввод и т. Д.) Обратно на сервер, чтобы приложение могло их рассмотреть и ответить.
Таким образом, не существует «логической проверки на стороне клиента» или «проверки html5», по крайней мере, с точки зрения разработчика приложений Vaadin. Платформа Vaadin может скрывать это во внутренней реализации, но это не мое дело как разработчика приложений Vaadin. Это основное преимущество Vaadin: мне все равно, как Vaadin выводит мои формы на экран пользователя. Как разработчик приложений Vaadin, я не пишу JavaScript, HTML, DOM, CSS или AJAX. Просто чистая Java.
Стиль похож на Swing : создание макета (форма), добавление меток , добавление кнопок , добавление поля , добавить другие виджеты . Прикрепите валидаторы по мере необходимости. Гнездо дополнительных раскладок, для сложных форм. Все это выполняется в памяти на стороне сервера, все на чистой Java. Напоследок расскажу макет, чтобы показать себя. Пуад, подобно магии, Ваадин велит браузеру отображать подобие этой формы.
Если вы хотите разрабатывать приложения в стиле рабочего стола, которые могут быть развернуты через веб-браузер, Vaadin - замечательный инструмент.
Trade-Offs
Компромиссы включают в себя:
- Много использования памяти и ЦП на стороне сервера.
- Отказ от контроля над HTML / CSS / JavaScript.
Пересчет
Ваше веб-приложение живет на сервере, а не на клиенте. Вся ваша бизнес-логика, введенные пользователем данные, внутреннее представление всех пользовательских форм, таких как элементы строк в таблице, все это живет на сервере. Умножьте это на количество пользователей. Это означает, что приложение Vaadin может потребовать много памяти и ресурсов процессора.
Это может ограничить масштабирование. Но с учетом 64-битной Java, нескольких гигабайт памяти и нескольких ядер даже на самых низких машинах, таких как Mac mini, масштабирование , вероятно, является проблемой только для самых крупных и загруженных приложений.
И даже в тех редких приложениях с большим / занятым могут быть способы управления масштабированием в Vaadin. Все приложение живет в сеансе сервлета. Некоторая веб-инфраструктура позволяет перемещать такое состояние сеанса между серверами или даже сохранять его в хранилище для других серверов.
Или ваше приложение может хорошо масштабироваться. Моделирование с 11 000 одновременных клиентов было сделано. См:
Контроль над HTML, CSS, JavaScript
Если ваша команда чувствует себя более комфортно или имеет опыт работы с традиционными архитектурами веб-приложений, то Vaadin может не подойти вам. В Vaadin вы пишете свое приложение полностью на чистом Java, а Vaadin автоматически переводит его в HTML, CSS и JavaScript.
Вы можете немного настроить CSS. И даже не касаясь CSS, «темы» Ваадина ( Valo , Reindeer ) дают вам большой контроль над цветами, размерами и шрифтами, если вы хотите изменить настройки по умолчанию. Но знайте, что Ваадин находится на «месте водителя» в создании HTML и CSS; Вы всего лишь пассажир, которому разрешено небольшое «вождение на заднем сиденье».
Если ваша цель заключается не в разработке приложений в стиле рабочего стола, если вы хотите, чтобы получили полный контроль над HTML / CSS, тогда Vaadin не для вас.
Обновление
Ваадин 8 выпущен
22 февраля 2017 года Ваадин 8 был выпущен .Самым большим улучшением является переписанная модель данных и API привязки данных, использующие современные функции Java, такие как обобщенные типы с параметрами типа и лямбда-выражения.Кроме того, более эффективен с памятью и процессором.
Выпущен Vaadin 7.
Хотя в целом та же архитектура, что и у Vaadin 6, 7 лучше, чем когда-либо.Смотрите: Что нового .