2016-08-18 6 views
3

Может ли кто-нибудь объяснить мне, как работают компоненты Java на стороне сервера Vaadin? Кажется, что они выполняют синхронизацию между серверным состоянием с клиентским механизмом javascript под названием «widgetset».Как работает Ваадин?

У кого-нибудь есть более подробное объяснение внутренних дел Ваадина? Я пытался объяснить это своим коллегам и не понимаю слов.

+0

Бывало заметить, что вы в Калгари. Я собираюсь провести там встречу Ваадина через две недели, чтобы пройти хотя бы основы Ваадина. Пожалуйста, присоединитесь к нам, если у вас есть шанс, и привезите своих коллег. https://www.meetup.com/Vaadin-Calgary/events/230478117/ (извините за размещение этого здесь, но я не могу отправлять личные сообщения на SO, насколько я вижу) – Marcus

ответ

7

В основном Vaadin запускает ваш код пользовательского интерфейса на сервере и использует браузер как «тонкий клиент» (виджет) для создания и обновления DOM. Вся коммуникация с сервером и клиентом автоматизирована и позаботится о Ваадине. Конечный результат в браузере - это просто приложение HTML5, которое касается браузера, никаких плагинов не требуется, и он будет работать на разных устройствах.

Продвижение немного глубже, каждый компонент в структуре имеет как серверную, так и реализацию браузера. Оба имеют общее состояние, которое поддерживается и передается в рамках структуры. Поскольку вся коммуникация позаботится об этой структуре, она может немного оптимизировать транспорт, просто отправив diff и пропустив отправку значений по умолчанию и т. Д. Кроме того, поскольку widgetset содержит JS-реализацию компонента браузера, HTML-шаблоны не генерируются на сервере и отправлено, только фактическое состояние компонента, которое намного более легкое.

Вот более глубокое объяснение от документации: https://vaadin.com/docs/-/part/framework/introduction/intro-overview.html

+0

Я бы также добавил к этому ответу что разработка собственных компонентов Vaadin на основе GWT помогает понять, как работает Vaadin – kukis

+0

Это довольно тяжелый для «тонкого клиента». В основном клиентские и серверные изменения состояния обмена пользовательского интерфейса (кнопка нажата, текст изменен и т. Д.), А Widgetset/Client позаботится о ее рендеринге в браузере. Поэтому, если вы управляете состоянием на сервере, например. добавьте строку таблицы, клиент будет проинформирован об этом с помощью следующего запроса (с нажатием моментально). – ssindelar

Смежные вопросы