Вы здесь:

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)