Tutorial "Components and Layouts": https://vaadin.com/docs/v14/flow/tutorial/components-and-layouts
Для разработки Vaadin приложений, кроме java, нужен настроенный node:
$ node -v v20.0.0
Описание Vaadin 8 https://vaadin.com/framework
Генерация Spring Boot в Spring Initializr https://start.spring.io/
Введение в использование Vaadin в Spring Boot https://coderlessons.com/articles/java/vvedenie-v-ispolzovanie-vaadin-v-spring-boot
Пример приложения CRM https://crm.demo.vaadin.com/
Примеры на notebook:
- ~/prog/java/vaadin/spring_demo/spring-boot-vaadin-demo

- ~/prog/java/vaadin/my-todo

- ~/prog/java/vaadin/vaadin-todo
- ~/prog/java/vaadin/vaadin-database-example

Vaadin не совсем бесплатен. Цены: https://vaadin.com/pricing
В бесплатной версии доступно:
- Flow and Hilla frameworks
- All open-source UI Components
- Collaboration Kit
- Figma libraries
- Control Center core features
- Docs, community, cookbooks, tutorials
- Directory with 2,000+ add-ons
Генерация проекта Vaadin со Spring Boot: https://start.vaadin.com/app
Есть два варианта для создания приложения на Vaadin: Flow и Hilla. Это полнофункциональные веб-фреймворки на основе Java. Они отличаются подходом к разработке и управлению состоянием.
- Vaadin Flow is server-driven. You write UI logic in Java. The framework handles client-server communication for you, so you don’t need to build REST endpoints or manage a separate frontend project.
- Vaadin Hilla is client-driven. You write UIs in TypeScript using Lit and Vaadin components. The backend is still Java, but your APIs are exposed as type-safe endpoints that the client consumes directly.
Flow ориентирован на серверную разработку. Логику пользовательского интерфейса пишут на Java, а фреймворк обрабатывает связь между клиентом и сервером. Это упрощает разработку для команд, которые хорошо знакомы с Java, обеспечивает автоматическую привязку данных и повышенную безопасность, но может вызывать проблемы с масштабируемостью из-за серверов с состоянием. Hilla ориентирован на клиентскую разработку. Пользовательский интерфейс пишут в TypeScript с помощью Lit и компонентов Vaadin. Backend всё ещё на Java, но API представлены в виде безопасных по типу конечных точек, которые клиент использует напрямую. Это обеспечивает гибкость на стороне клиента и упрощает масштабируемость бэкенда. Выбор между Vaadin Flow(Vaadin 10) и Hilla зависит от того, какие задачи нужно решить: работать полностью на Java (Flow) или использовать TypeScript для создания пользовательского интерфейса (Hilla). (https://vaadin.com/blog/vaadin-flow-vs-hilla)
В платной версии доступно: Copilot, тестирование E2E, all commercial UI components, including Charts, Dashboard, Map, CRUD, Grid Pro, and more.
"Vaadin 8 вам хватило бы Java и не требовались HTML/CSS". Есть Vaadin BOM. Подключается через Maven:
<dependencyManagement> <dependencies> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-bom</artifactId> <version>${vaadin.platform.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
https://habr.com/ru/companies/haulmont/articles/416893/
Другие ссылки:
Быстрая разработка Web приложения на Vaadin и Spring Boot(Habr)
Vaadin Flow — диковинный олень(Habr)