Building Applications with Vaadin
Vaadin is a powerful framework for building real-world business applications. Like any versatile tool, it offers 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 Vaadin.
The guides build the user interface with server-side Flow views, written in Java, unless they say otherwise. To add client-side views written in React, see React Views.
If you’re evaluating Vaadin for a project, or want to know what happens behind a Flow view, start with How a Vaadin Application Works. It explains where the UI state lives, what each interaction costs, how threads and sessions work, and what this means for deployment.
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 using Vaadin.
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 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 with Vaadin. If you’re an experienced software developer, you may even disagree with some viewpoints — and that’s perfectly fine. However, if you want to master Vaadin and make the most of its capabilities, these articles are well worth exploring.
Topics
- UI Basics
- Learn how to compose, arrange, and style UI components in your Vaadin application.
- Views & Navigation
- Learn how to build views and navigate between them in Vaadin applications.
- Forms & Data
- Learn how to create forms and manage data in Vaadin applications.
- 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 a Vaadin application.
- Server Push
- How to use server push in your user interfaces.
- Security
- Learn how to secure Vaadin applications.
- Testing
- Write tests for your Vaadin application, verify user interactions, and diagnose failures.
- Integration
- Learn how to expose the data of a Vaadin application to other systems through a REST API.
- AI & LLMs
- Leverage AI in your Vaadin applications with practical use cases and setup options that fit your project.
- Agentic Development
- Set up AI coding agents to build Vaadin applications, 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 application.
- Architecture
- Deep Dive articles about architecting full-stack business applications with Vaadin.
- Cookbook
- Code snippets for common tasks