Поскольку вы явно упомянули Ваадина в качестве примера, я подробно остановлюсь на том, что он приносит на стол. Ваадин использует модель программирования, очень похожую на Swing. Это означает, что вы можете в целом структурировать свой код таким же образом, то есть путем создания и настройки компонентов как экземпляров Java, добавления этих компонентов в качестве дочерних компонентов компонентов макета и, наконец, прослушивания событий этих компонентов.
Реальные реализации компонентов отличаются от реалий в Swing, но тот же базовый набор c компонентов, как кнопки, поля ввода текста и сетки данных, все еще доступен. Различные реализации компонентов означают, что вам все равно придется переписывать весь код, относящийся к фактическому GUI.
Преимущество Vaadin в этом случае заключается в том, что вам не нужно просто изучать, как работают браузеры. реализовать то, что изначально работает в браузере. Вы также можете повторно использовать весь свой существующий не-1009 * код с относительно небольшими изменениями. С другой стороны, вы также можете рассматривать это как возможность познакомиться с нативными веб-технологиями, такими как HTML и JavaScript, поскольку это очень полезный навык.