Migrate From Swing to Web with Vaadin
Unlock the value of your existing application when you migrate from Java Swing to web with Vaadin's Swing Kit
The Challenge
Legacy desktop apps hinders your digital progress
A lot has happened since 1998 – the year when Swing extended Java's core idea of 'write once, run anywhere' into the realm of graphical user interfaces. Despite Oracle's pledge to support Swing until foreseeable future, the need to migrate has become much more urgent than any timeline would suggest.
The following 4 key areas have reached a de facto status in modern web app development. With Swing, you are missing out on them.
Economies of scale in the cloud
Cloud providers can purchase compute and storage in massive quantities which drive down the total cost of ownership far below what ordinary companies can achieve.
Agility to innovate by integrating with latest technologies
A range of tools such as a content delivery network, 2-factor authentication, Blockhain and machine learning are easier to set up in the cloud than by yourself.
Ease of upgrading your own product
Ease of deployment also leads to easy upgrades, effortless experimentation with new features and the opportunity to roll back when necessary.
Your customers expect web-enablement
Your customers and users increasingly expect the convenience of SaaS models, and products that are not web-enabled project the opposite of state of the art.
Swing’s technical relevance is eroding
- The shift from desktop to mobile caused the end for the desktop-only era. As the demand decreased, the supply for desktop development skills, crucial for Swing applications, has diminished.
- With Swing, there’s a lack of responsiveness on different platforms – in both the application performance and their development.
- In 1999, a Swing application could work on almost any graphics-enabled computing device without having to be recompiled. Nowadays less than half of devices sold are able to run Swing.
- By staying with Swing, your IT infrastructure becomes complex and costly to maintain.

Swing Kit
Add Vaadin web views into your Swing application
The Swing Kit enables you to do a step-by-step migration into Vaadin by embedding web views into your desktop Swing application. Now available in Vaadin Ultimate or priced separately for Vaadin Prime.
Request a trial Read documentation
Why Vaadin?
Why choose Vaadin for your Swing to web migration?
Read more about Swing to Vaadin migration FAQNo more plugins nor JRE installations
Vaadin makes software deployments simple. Deploy your Vaadin application on a web server and the Vaadin GUI is served as native Web Components that run on any modern web browser.
Unlock mobile use
Vaadin GUI runs on mobile devices, as well as on desktop browsers. You can create responsive apps or even PWAs (Progressive Web Apps) and introduce a new way for you to engage your users.
Improve your user experience
With Vaadin, your apps can introduce a better visual match with your brand, make your apps more appealing and ensure that they work on any browser, device, and screen resolution.
Build with UI components
With the vast collection of UI components in Vaadin, you can easily re-implement the good UI patterns your users already love, as well as reinvent the ones they don’t.

View our free PoC offer for eligible companies or download our whitepaper for more information.
Blog
Clock ticking loudly for Swing and SWT users
It might have flown under your radar, but with the release of Java 9, Oracle delivered the biggest wakeup call yet to Swing users. While Swing remains supported within JavaSE …
Read more
Blog
Tools to Migrate Swing Applications to Web - Part 1
Automation can help make your migration faster and make you smarter before you start one. At Vaadin we’re working with Swing users to build tools that make the migration …
Read more
Blog
Tools to Migrate Swing Applications to Web - Part 2
In the previous article we introduced dynamic tools for Swing migration to Vaadin. In this article we consider the more classic static tooling …
Read more
Customer case
Procountor made a UX-first accounting software with Vaadin


When Apple dropped support for their own JVM, we had to start supporting a Swing version of our app as well. The abstraction layer made it a natural choice for us to do the same with Vaadin, knowing that the API was so similar to both Swing and AWT. And that's what we did. Quite successfully I might add.

Lauri Lehtonen
CTO, procountor