An open platform for building modern web apps in Java

Vaadin is an open-source platform for developing web apps in Java. Extensive component set, server-side Java APIs and the right level of abstraction over complex web technologies make it a great choice for developers moving from JSP/JSF.

Vaadin is a web framework for Java developers

With Vaadin and its Java framework Vaadin Flow, you can fully take advantage of your existing skills in Java. Compose your app out of ready-made components, bind the components to your application data and hook up event listeners for user interactions. Vaadin has a pure Java API that hides many of the complexities associated with web apps. All your UI logic runs on the server, making it simpler, cleaner and easier to debug. Yet, Vaadin applications run natively in your browser without any add-ons or browser extensions.

Vaadin works with your favorite IDEs, tools, and libraries

We recommend using Eclipse or IntelliJ IDEA, but you can use any IDE supporting Maven projects. Vaadin applications can be deployed basically on any Java server supporting Servlet 3.1 (or newer) and Java 8 or 11. Java EE 7 and CDI are supported.

Focus on business logic and not on client-server communication

With Vaadin you can forget the request/response cycle and how to how to get data to or from the server. Vaadin handles routing and client-server communication transparently, quickly, and securely, so you can focus on what matters - building a great app for your users.

Secure by design

With Vaadin you can connect to your backend either by using any Java backend ecosystem or connect to your existing REST services. You are not forced to expose backend endpoints to the perils of the internet as your UI logic is accessing the back-end services in the same JVM. Only a "thin client" is executed in the browser. As a result, Vaadin is an extremely secure development option for web applications. Attackers have a very small attack surface to examine your UI code for possible vulnerabilities.

Simplified construction of fully interactive user interface

Vaadin comes with UI components and application layouts that allow developers to quickly build their application views and bind business objects directly to those views. Vaadin has full AJAX support that provides full interactivity out-of-the-box. With Vaadin you don’t have to deal with client-server communication details - all that happens automatically.

  • Full AJAX support
  • Interactivity out-of-the-box
  • Automated communication between browser and server
  • Server-side stateful
  • Event-based
  • Data binding

Next steps

Learn more about the key programming concepts of Vaadin. The article gives you a quick overview of the core concepts and provides links to relevant documentation for further reading.

Vaadin key concepts