Рубрики
Без рубрики

Узнайте, как реализовать веб-интерфейсы на Java

Мир JavaScript предлагает полезные и увлекательные в использовании веб-фреймворки, в этом нет никаких сомнений. Для… Помеченный java, vaadin, графический интерфейс, веб.

Мир JavaScript предлагает полезные и увлекательные в использовании веб-фреймворки, в этом нет никаких сомнений. Для разработчиков Java есть интересная альтернатива — открытый исходный код Ваадин фреймворк. С его помощью вы можете легко реализовать Графический пользовательский интерфейс (GUI) для Интернета, используя только язык программирования Java и ничего больше. Не нужно писать ни строчки HTML или JavaScript. Картинка стоит тысячи слов:

Как Работает Ваадин?

На предыдущем скриншоте вы можете видеть класс Java слева. Этот код выполняется на сервере, например, Apache Tomcat, Eclipse Jetty или любом другом контейнере сервлетов.

Вы можете использовать API, предоставляемый платформой, для создания пользовательских интерфейсов (UI) компоненты такие как текстовые поля, поля со списком, таблицы данных, средства выбора даты, поля загрузки и многие другие. Вы можете объединить эти компоненты для создания представления (также известного как страница или пользовательский интерфейс), используя макеты для размещения компонентов пользовательского интерфейса по вертикали, горизонтали или любым другим пользовательским способом с помощью CSS.

В предыдущем примере мы создали Текстовое поле и Кнопку оба добавлены в Вертикальный макет . Как только представление будет готово, вы можете предоставить его по URL-адресу, используя аннотацию @Route . В приведенном примере мы сделали его доступным по адресу http://localhost:8080/hello с помощью @Маршрут("привет") .

Приложение Vaadin – это веб-приложение Java. Структура обеспечивает Реализация сервлета ( VaadinServlet ), которая обрабатывает HTTP-запросы и ответы для вас. Этот сервлет сканирует классы Java, помеченные аннотацией @Route , чтобы отобразить правильное представление в браузере. При первом запросе приложения Vaadin Vaadin отвечает легким файлом JavaScript, который служит в качестве механизма на стороне клиента. Этот механизм заботится об обработке событий в браузере и отправке их на сервер в виде сообщений JSON. VaadinServlet обрабатывает запросы и аналогичным образом возвращает ответы JSON в механизм на стороне клиента. Затем механизм использует это сообщение для обновления элементов страницы, которые необходимо обновить, если таковые имеются. Если бы связь между клиентом и сервером была разговором, это выглядело бы примерно так:

(Пользователь нажимает кнопку в браузере)

Движок на стороне клиента: Привет, VaadinServlet, пользователь нажал на кнопку с идентификатором 5.

ВаадинСервлет: Конечно. Позвольте мне проверить, есть ли какие-либо прослушиватели щелчков по этой кнопке… Да, есть один, давайте казним слушателя… Сделано. Хорошо, движок на стороне клиента, похоже, слушатель хочет добавить уведомление с текстом “Спасибо за нажатие”.

Механизм на стороне клиента: Круто, я буду использовать DOM здесь, в браузере, чтобы добавить это уведомление на страницу.

Это, конечно, упрощение, но вы поняли идею.

За кулисами Vaadin использует HttpSession для хранения дерева компонентов. Это содержит состояние пользовательского интерфейса. Такие вещи, как то, какие компоненты формируют представление и каковы их состояния (включено/отключено, заголовок, значение и т.д.). Это обеспечивает достойный упоминания уровень безопасности. Поскольку логика пользовательского интерфейса находится на сервере, она не подвержена атакам. Проверки выполняются на сервере. Например, если Кнопка отключена (с помощью setEnabled(false) ), это не просто косметическая функция в браузере — сервер не будет запускать логику в прослушивателях кликов, добавленных к кнопке, которая не включена, не позволяя злоумышленникам использовать инструменты разработчика в браузере для изменения состояния включено или вызова VaadinServlet для имитации события нажатия.

Свободен ли Ваадин Использовать?

Да. Vaadin – это платформа с открытым исходным кодом, опубликованная под лицензией Apache 2.0 . Вам не нужно ничего покупать, чтобы создавать с его помощью полноценные веб-приложения.

Существуют коммерческие компоненты, повышающие производительность, но они являются необязательными. Например, есть визуальный дизайнер и компонент CRUD, которые помогут вам создавать представления еще быстрее. Вы можете попробовать эти компоненты бесплатно, прежде чем оформлять подписку.

Является ли Vaadin заменой JSP и JSF?

Да. Его можно использовать в качестве замены JSP, JSF и даже фреймворков JavaScript, таких как Angular. Многие клиенты Vaadin успешно перешли с этих технологий на Vaadin.

Поддерживает ли Vaadin Spring и Jakarta EE?

Да. Vaadin имеет официальную интеграцию с Spring и Джакарта EE (ранее Java EE). Вы можете добавить Vaadin в качестве зависимости при создании нового проекта Spring Boot с помощью Spring Initializr . Для Jakarta EE вы можете скачать простой Привет, мир пример, в котором используется Jakarta EE. На момент написания этой статьи поддерживается только Jakarta EE версии 8.

Кто Использует Ваадин?

Многие компании из списка Fortune 500 используют Vaadin, а также успешные стартапы. Это составляет более 200 000 разработчиков по всему миру, и это число растет каждую неделю. Интернет-сообщество активно работает.

Следуйте инструкциям краткое руководство по началу работы а затем попробуйте пройти углубленный курс .

Оригинал: “https://dev.to/alejandro_du/learn-how-to-implement-web-guis-in-java-50kd”