Docs

Documentation versions (currently viewingVaadin 25.4 (pre-release))

Building Applications with Vaadin

How to build real-world business 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