Почему вам стоит выбрать фреймворк/технологию Vaadin для своего следующего проекта
Я занимаюсь разработкой более семи лет. В статье расскажу, прочему фреймворк Vaadin — это именно то, что подходит для админского приложения.
7К открытий7К показов
Всем привет. Я занимаюсь разработкой более семи лет. В основном это написание серверов/сервисов на backend. И исходя из опыта, могу заметить, что часто бэкендеру приходится сталкиваться с фронтом. Многие спокойно относятся к этому, кого-то это невероятно бесит. А кто-то может быть в восторге, ведь он становится fullstack девелопером.
Мне, к счастью или сожалению, приходилось сталкиваться с фронтовой частью достаточно много. В подавляющем большинстве проектов использовался JS и тысячи его различных библиотек и фрэймворков. Каждый раз знакомство с фронтом было, как в первый — как-то внутренне мой организм отталкивал JS. Хотя я и успешно выполнял фронтовые задачи, это не приносило мне настоящего удовольствия.
В один прекрасный момент на горизонте начала появляться задача по написанию админского модуля для всей системы. И конечно же, там просто была необходима огромная фронтовая часть. Нанимать отдельного фронтона никто бы не стал, да и я был бы против, пришлось думать, как быстро и удобно реализовать фронт часть для нашей будущей админки. Я мог написать stand-alone приложение на C# и Unity.
Использовать преимущества этого чудесного движка и быстро накидать необходимые формы. Можно было пойти более классическим путём и использовать JS + сервер. Был шанс использовать шаблоны типа Thymeleaf или Freemarker , но это совсем извращение, как по мне.
Также, в моей памяти всплыл не сильно популярный и многими моими знакомыми не любимый, фреймворк Vaadin. И если зайти на официальный сайт и посмотреть готовые примеры, то Vaadin это именно то, что подходит для админского приложения.
Что такое Vaadin?
Фреймворк Vaadin специально ориентирован на доступность UX. Он позволяет программисту создавать настраиваемые веб-приложения. А пользователям — получать доступ к DOM непосредственно с виртуальной машины Java. Приложение на Vaadin запускается как обычное Spring Boot приложение, без каких либо дополнительных действий.
Как Java, так и HTML, можно использовать для построения представлений во фреймворке Vaadin. У него интуитивно понятный пользовательский интерфейс с поддержкой взаимодействий перетаскивания. Это значительно упрощает весь процесс веб-разработки для программистов любого уровня подготовки.
Также Vaadin — платформа с открытым исходным кодом, которая включает в себя веб-фреймворк Java, набор веб-компонентов, средства запуска приложений и инструменты.
Vaadin Flow — это фактическая часть инфраструктуры Java платформы Vaadin, которая заботится о взаимодействии клиент-сервер, и маршрутизации. С помощью Vaadin flow вы можете полностью написать веб-приложение на Java без суеты JS или CSS. Компоненты пользовательского интерфейса заботятся о действиях пользователя в браузере, используя автоматическую связь с браузером и сервером. Вы можете легко интегрировать компоненты Vaadin в любую IDE, которую используете. Плюс это кроссплатформенный фреймворк, поэтому не нужно беспокоиться о переносе кода на другую платформу.
Данные могут быть связаны с использованием как MVC, так и MVP через платформу Vaadin. К тому же фреймворк поставляется со встроенной поддержкой инфраструктуры Spring и поддерживает языки JVM, такие как Scala и Kotlin. Ещё у него есть поддержка WebSocket, которая обеспечивает автоматическую связь между сервером и клиентом.
Также существует платная поддержка и расширенные возможности. И, если не ошибаюсь, в IntelliJ был платный плагин, позволяющий перетаскивать компоненты на лайаут и отрисовывать то, что вы хотите (как в Android Studio).
Особенности фреймворка Vaadin
- Java API для всех веб-компонентов;
- безопасная веб-разработка только для Java;
- две встроенные темы: Lumo и Material;
- переключение между темным или светлым режимом;
- альтернативы стилей из Java;
- поддержка кнопки “Назад” и ссылок на контент;
- навигация без перезагрузки всей страницы;
- существенным преимуществом Vaadin является поддержка JVM;
- по умолчанию Vaadin получает встроенную поддержку Spring Framework;
- Vaadin может автоматически устанавливать связь клиент-сервер с помощью веб-сокета;
- у Vaadin есть маршрутизатор с вложенным маршрутом, а также поддержка параметров;
- Vaadin поддерживает привязку данных через MVC и MVP.
Звучит круто, не правда ли? Это не реклама фреймворка, это моя радость от того, что я могу теперь писать фронтовую часть на Java, и она будет получаться достаточно красивой и приятной. Несомненным плюсом является комьюнити и ответы на большинство вопросов, которые могут появляться первое время.
Было бы очень интересно услышать ваше мнение по поводу Vaadin и его использования. С какими сложностями и трудностями вы столкнулись при использовании Vaadin ?
7К открытий7К показов