10 reasons to use Vaadin 10

Marcus Hellberg
Marcus Hellberg
On Mar 15, 2018 8:00:00 AM

Vaadin 10 is out and it changes everything! Well, maybe not everything. But it is the biggest update in Vaadin's history. To celebrate, we wanted to highlight some of the features we're most excited about ourselves.

Learn more about how to build Java web applications in Vaadin 10 with our training videos. 
See courses now!

1. New mobile-first components

Vaadin 10 comes with a new set of UI components that are built using W3C standards. This means that our components can now be used with any frontend framework in addition to Vaadin. The components are mobile-first and responsive, adapting to the viewport size.

Take your first steps into building apps with Vaadin 
Get access to free Vaadin 10 introduction training

2. Fresh look and feel that can be customized to match your brand

The new set of components in Vaadin 10 ship with the Lumo theme. Lumo is a modern, clean looking theme that can be customized live with CSS custom properties, without a separate compile step.

3. Accessible to all

We believe that it is important that applications can be used by anyone. Vaadin’s components follow the WAI-ARIA specifications, and are keyboard and screen reader accessible to accommodate as many users as possible.

4. Modern Java API

All Vaadin components also come with an optional Java API and automated server-client communication through Vaadin Flow, the full-stack Java framework. Flow allows you to build web apps fully in Java without having to deal with JavaScript, HTML or exposing service APIs through REST.

5. Control any HTML element from Java or JavaScript

Throughout our 17 year history, Vaadin has given developers a simple, component-based way of building Web Applications. With Vaadin 10, we're going one step further. In addition to having access to Java APIs for all Vaadin components, you can easily control any HTML element from Java without having to worry about client-server communication.

6. Declarative HTML templates with data binding

In Vaadin 10, you can take advantage of the automated communication regardless of whether you use the programmatic Java API or if you prefer to define your UI declaratively in HTML. The HTML template syntax supports data binding for easy updating.

7. Nested declarative navigation

Navigation has been completely overhauled in Vaadin 10 with the new Router. You can now annotate any component with a @Route annotation to define its URL mapping. The new routing also adds support for nested routes and access to URL parameters.

8. Tools for building your app faster and easier

In addition to the free-to-use, open-source offer, Vaadin provides productivity tools to help you speed up and ease the development. Vaadin Designer is a visual WYSIWYG tool to build UIs using drag and drop, allowing you to save time and focus on usability and business logic implementation.

Vaadin TestBench allows controlling the browser from Java code to create automated regression, acceptance, and integration testing for the UI layer.

9. Opinionated project starters

Vaadin comes with a big range of starters that you can use to bootstrap your next project. They give you a project skeleton that you can build on. We have Java starters with different tech stacks like Spring, and client-side starters for the most popular front-end frameworks.

Vaadin Bakery App Starter

10. Combining the latest web tech with a stable API

The web is notoriously difficult when it comes to writing maintainable software. Using the component based Java API, Vaadin abstracts you away from the fastest moving parts of the web and gives you a stable API that you can rely on for years to come. Starting with Vaadin 10, we are moving to a release train model with new major releases coming out every quarter, giving you a quick access to the latest features. Every few releases, we'll tag a Long Term Support (LTS) version which gives you five years of free support. LTS versions are ideal for applications in production, as you know that you'll get security and other patches without breaking API changes.

Vaadin release cadence

*This chart is only an estimation and subject to changes, to find more information about future releases please visit

Build web apps the way you want to

Vaadin 10 is all about flexibility. If you are a current Vaadin user and prefer the programmatic Java API, you can continue using it. If you are a frontend developer, you can choose to only use our web components in a frontend app. Or you can choose to mix and match as needed in your project.

Get Started With Vaadin 10!
Marcus Hellberg
Marcus Hellberg
Marcus is the VP of Developer Relations at Vaadin. His daily work includes everything from writing blogs and tech demos to attending events and giving presentations on all things Vaadin and web-related. You can reach out to him on Twitter @marcushellberg.
Other posts by Marcus Hellberg