Upgrade your Swing apps to the cloud

Vaadin is a great choice for your UI layer when migrating your Swing based desktop application or an Applet to work inside a browser without plugins.

Its programming paradigm is analogue to Java Swing, so you'll find Vaadin development really natural and productive. Even if you wouldn't have that much experience from web applications, you can reuse all your expertise from desktop application development.

Swing and Vaadin code to implement the same UI.
Swing and Vaadin code snippets that implement the same UI.

Vaadin bridges the gap between JVM and HTML5

Vaadin Framework has a pure Java API. With Vaadin, you can most of the time forget that you're writing an HTML5 application and all the complexities that relate to web apps. There is no need to learn new programming languages or fight with hard to resolve issues caused by non-compiled and un-typed JavaScript, that is typically used in other HTML5 solutions. Like with desktop applications, your code is executed in the powerful JVM, allowing you to use all the tools and libraries you already master. Vaadin runs natively in your browser without a Java (NPAPI) plugin.

Recycle the most essential codebase

When moving your UI code to web using Vaadin, you can often reuse the most essential part of your application, the business logic, as such or with only minor changes. When gradually transitioning to web, you can also share the application logic with your Swing and Vaadin based web UI.

UI logic lives right next to you data

Your Swing application most likely uses some sort of server connection to persist data and execute critical business logic. All that is reusable for your Vaadin application, and in some cases even portions of your UI logic can be reused. As your UI code is now executed in the server room, right next to your data, integrating with your backend actually becomes faster and easier than with the old Swing approach.

Secure by default

As a Vaadin application's code is executed on the server, and only a "thin client" is executed in the browser, Vaadin is an extremely high security option for web applications. Attackers have a very thin "surface" to examine your UI code for possible vulnerabilities and there is no need to expose risky REST or Web Services.

Customer stories

Cloud Smoothie

Cloud Smoothie® and Smoothie Mambo are server based solutions for forecasting, collaborative demand planning. Originally a Swing application, now using Vaadin they run it as a cloud application.

"Using Vaadin to enable our world-class planning application for browser deployment has been a fantastic overall experience and the result has pleasantly surprised us by exceeding our previous Swing client."

Read the whole case study »


Procountor, the leading provider of electronic financial management software in Finland, recently completed their migration from a Swing based applet into a Vaadin web application.

Read the whole case study »

No time to do it yourself and just need just a solution? Contact our sales and we'll make it happen.

Where to Start

Swing developer intro

A tutorial to Vaadin development targeted for Swing developers.

Read more


First time you hear about the Vaadin framework ? Check the introduction first.

More about Vaadin

Swing to Vaadin example application - An example CRUD app with a shared EJB backend with both Swing and Vaadin client applications. You can check out and play with this project to get an understanding of what your Swing to Vaadin migration might require.

Vaadin Sampler - A demo application containing core component usage examples. A great tool for newcomers to find the right component and configuration for their use case.

Book of Vaadin - Vaadin reference manual. Available as both freely available digital version and as a printed version.

Vaadin trainings - Our classroom and on-site trainings have proven to be a fast way to get your whole team aligned with the new tools and targets.