В основном Vaadin запускает ваш код пользовательского интерфейса на сервере и использует браузер как «тонкий клиент» (виджет) для создания и обновления DOM. Вся коммуникация с сервером и клиентом автоматизирована и позаботится о Ваадине. Конечный результат в браузере - это просто приложение HTML5, которое касается браузера, никаких плагинов не требуется, и он будет работать на разных устройствах.
Продвижение немного глубже, каждый компонент в структуре имеет как серверную, так и реализацию браузера. Оба имеют общее состояние, которое поддерживается и передается в рамках структуры. Поскольку вся коммуникация позаботится об этой структуре, она может немного оптимизировать транспорт, просто отправив diff и пропустив отправку значений по умолчанию и т. Д. Кроме того, поскольку widgetset содержит JS-реализацию компонента браузера, HTML-шаблоны не генерируются на сервере и отправлено, только фактическое состояние компонента, которое намного более легкое.
Вот более глубокое объяснение от документации: https://vaadin.com/docs/-/part/framework/introduction/intro-overview.html
Бывало заметить, что вы в Калгари. Я собираюсь провести там встречу Ваадина через две недели, чтобы пройти хотя бы основы Ваадина. Пожалуйста, присоединитесь к нам, если у вас есть шанс, и привезите своих коллег. https://www.meetup.com/Vaadin-Calgary/events/230478117/ (извините за размещение этого здесь, но я не могу отправлять личные сообщения на SO, насколько я вижу) – Marcus