Building Applications with Spring Boot and Vaadin
This section shows how to build real-world business applications with Spring Boot and Vaadin. Spring Boot runs the application, and Vaadin builds its user interface. Together, they offer multiple ways to achieve results — some leading to better outcomes than others.
Business applications often start small and evolve over time. While you can figure things out as you go, having a clear roadmap from the start makes the journey smoother. This section of the documentation introduces a structured, opinionated approach to building business applications with Spring Boot and Vaadin. It covers the whole application, not only the user interface, because many of the hardest problems in a business application are in its architecture, data, security, and deployment.
The guides use Spring Boot because it’s the easiest platform to start with. Vaadin doesn’t require it: you can also build the user interface of a Quarkus application, or of an application on a Jakarta EE server, with Vaadin. See Quarkus and CDI for how Vaadin works on those platforms.
The guides build the user interface with Flow, Vaadin’s server-side UI framework, unless they say otherwise. You write Flow views in Java, from UI components. They run on the server, which keeps the UI state of each user in memory and keeps the browser in sync with it. Because the UI code runs on the server, it calls your application services directly, without an API. For more, see What is Flow?
Vaadin also supports client-side views written in React and TypeScript, which run in the browser. To add them, see React Views.
If you’re evaluating Vaadin for a project, start with When to Use Vaadin. It describes where Vaadin fits, what its server-side approach costs, and where another tool fits better. Then read How Vaadin Works at Runtime, which is also the place to start if you want to know what happens behind a Flow view. It explains where the UI state lives, what each interaction costs, how threads and sessions work, and what this means for deployment. Finally, see Licensing, Support & Maintenance for which features are free and which need a commercial subscription, and how Vaadin versions are maintained.
When your application is ready for real users, the Production guides show how to build, configure, and deploy it, and how to monitor it.
This section is divided into two main types of articles:
-
How-to Guides — Practical, step-by-step instructions for adding features and implementing common tasks.
-
Deep Dives — In-depth explorations of key concepts, best practices, and architectural decisions.
How-to Guides
These hands-on guides show you how to implement specific features or complete essential tasks in your application.
Rather than covering every possible aspect of a topic, the guides focus on the essentials and the most common use cases. They also highlight potential pitfalls and offer practical tips to avoid them.
Many guides include mini-tutorials at the end, allowing you to test concepts before applying them to your own applications.
If you’re looking for a fast and effective way to become productive with Spring Boot and Vaadin, start with the How-to Guides.
Deep Dives Deep Dive
The Deep Dive articles take a broader and more conceptual approach to building business applications. Unlike the structured how-to guides, these articles explore the reasoning behind certain practices, provide in-depth knowledge, and offer insights, opinions, and alternative approaches.
Reading the Deep Dives isn’t essential for getting started. If you’re an experienced software developer, you may even disagree with some viewpoints — and that’s perfectly fine. However, if you want to understand the reasoning behind these recommendations and make the most of Spring Boot and Vaadin, these articles are well worth exploring.
Topics
- UI Basics
- Learn how to compose, arrange, and style UI components in your application.
- Views & Navigation
- Learn how to build views and navigate between them in your application.
- Forms & Data
- Learn how to create forms and manage data in your application.
- Components
- Learn how to create, style, package, and publish custom Vaadin components, and how to wrap existing web and React components.
- Business Logic
- Learn how to add business logic to your application.
- Server Push
- How to use server push in your user interfaces.
- Security
- Learn how to secure your application.
- Testing
- Write tests for your application, verify user interactions, and diagnose failures.
- Production
- Take your application from your development machine to production.
- Integration
- Learn how to integrate your application with other systems.
- AI & LLMs
- Leverage AI in your application with practical use cases and setup options that fit your project.
- Agentic Development
- Set up AI coding agents to build your application, and give them a loop in which they can verify their own work.
- React Views
- When and how to add client-side React views to a server-driven Vaadin UI.
- Architecture
- Deep Dive articles about architecting business applications with Spring Boot and Vaadin.
- Cookbook
- Code snippets for common tasks