Vaadin coding is like Swing coding but gives you a web app

All Java Swing developers will feel immediately at home with Vaadin. It’s all Java. The programming model is identical: you create components, add them to a layout, and declare event listeners for user interactions. But, with Vaadin your GUI is a native web application that runs on all browsers, both desktop, and mobile.

Swing
Box dataInputBox = Box.createHorizontalBox();
dataInputBox.add(new JLabel("Type value:"));
final JTextField inputField = new JTextField();
dataInputBox.add(inputField);
JButton button = new JButton("Submit");
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        facade.save(inputField.getText());
    }
});
add(dataInputBox);
Vaadin
HorizontalLayout dataInputBox = new HorizontalLayout();
dataInputBox.addComponent(new Label("Type value:"));
final TextField inputField = new TextField();
dataInputBox.addComponent(inputField);
Button button = new Button("Submit");
button.addClickListener(new Button.ClickListener() {
    @Override
    public void buttonClick(Button.ClickEvent event) {
        facade.save(inputField.getText());
    }
});
addComponent(dataInputBox);

Why move away from Swing to Vaadin?

No more plugins nor JRE installations

Vaadin makes software deployments simple. You just 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 totally new way for you to engage your users.

Improved 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.

A rich collection of 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.

Your UI will be top-notch for years to come

With Vaadin your UI code will be built with technologies that are going to be supported for years to come, surpassing even the theoretical lifespan of Java Swing.

Vaadin has helped multiple customers in migrating their Java Swing apps to modern web apps. See a few examples below.

Procounter application screenshot
Friendly Accounting Software Procounter Oy, Finland

Procountor migrated a Java Swing financial management application to the web with Vaadin.

Learn more
DemandWorks application screenshot
Planning Software for the World’s Best Companies Demand Works Co, USA

Demand Works modernized their demand planning solutions from Java Swing to Vaadin.

Learn more

We are here to help, we’ve done Swing to Web migrations for a long time. Together we can figure out your best option to continue your migration.

Migration Services

Vaadin coding is like Swing coding but gives you a web app

All Java Swing developers will feel immediately at home with Vaadin. It’s all Java. The programming model is identical: you create components, add them to a layout, and declare event listeners for user interactions. But, with Vaadin your GUI is a native web application that runs on all browsers, both desktop, and mobile.

Swing
Box dataInputBox = Box.createHorizontalBox();
dataInputBox.add(new JLabel("Type value:"));
final JTextField inputField = new JTextField();
dataInputBox.add(inputField);
JButton button = new JButton("Submit");
button.addActionListener(new ActionListener() {
	@Override
	public void actionPerformed(ActionEvent e) {
		facade.save(inputField.getText());
	}
});
add(dataInputBox);
Vaadin
HorizontalLayout dataInputBox = new HorizontalLayout();
dataInputBox.add(new Label("Type value:"));
final TextField inputField = new TextField();
dataInputBox.add(inputField);
Button button = new Button("Submit");
button.addClickListener(new ComponentEventListener<clickevent>() {
	
	@Override
	public void onComponentEvent(ClickEvent event) {
		facade.save(inputField.getValue());
	}
});
add(dataInputBox);

Why move away from Swing to Vaadin?

No more plugins nor JRE installations

Vaadin makes software deployments simple. You just 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 totally new way for you to engage your users.

Improved 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.

A rich collection of 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.

Your UI will be top-notch for years to come

With Vaadin your UI code will be built with technologies that are going to be supported for years to come, surpassing even the theoretical lifespan of Java Swing.

Vaadin has helped multiple customers in migrating their Java Swing apps to modern web apps. See the example below.

Procounter application screenshot
Friendly Accounting Software Procounter Oy, Finland

Procountor migrated a Java Swing financial management application to the web with Vaadin.

Learn more

We are here to help, we’ve done Swing to Web migrations for a long time. Together we can figure out your best option to continue your migration.

Migration Services