Category:
How I benchmarked SwingBridge by counting Swing users
Vaadin SwingBridge is a solution that allows you to run Swing apps in the web browser just by adding your app jars in the Vaadin skeleton app. I got a task to measure the memory consumption since we were getting many requests from customers related to that. So, I set out to build a test harness ...
Oracle Forms to Java: A Two-Week AI Migration Experiment
My first job was to write a new module in an Oracle Forms 6 application. A couple of years later, the company wanted the entire application migrated to Java, and since I was a young developer who knew both Oracle Forms and Java, the migration landed on me. I did it by hand and it took a while. In ...
Spring AI 2.0 in Practice: Adding LLM Features to a Java Web App
Spring AI is Spring's official application framework for AI engineering. It brings the ecosystem's core principles (portability, modularity, dependency injection) to building LLM-powered features in Java. Combined with a UI framework like Vaadin, it turns an LLM API key into a working product ...
Java UI in 2026: A Practical Guide to Desktop and Web Modernization
This article is for Java teams that maintain important desktop applications and need to decide what to do next: keep the desktop UI, move parts of the application to the browser, modernize gradually, or rewrite. TL;DR The right answer depends less on the UI framework and more on the application's ...
From VPS to Kubernetes: Containerizing the app in user space
In the previous VPS post we deployed URL shortener service the old-fashioned way: clone the repository, build it on the server, wire up Jetty server, configure nginx by hand, and run Certbot. Quite many steps and moving parts, and everything living as bare processes on a single Ubuntu machine. And ...
SWT and Eclipse RCP on the Web: What AI Could and Couldn't Port
I came to RSS about twenty years late. When I finally went looking for a reader, one beloved old Eclipse desktop app kept turning up on every "best of" list, and it wouldn't even launch on my Mac. So I pointed Claude Code at it and rebuilt its main screen for the browser in Vaadin 25. What you get ...
How To Ensure Serializable Sessions in Vaadin 25 Applications
In many real-world Vaadin 25 applications, strict session serialization isn’t always required. However, it becomes important in clustered deployments, failover setups, session passivation scenarios, and environments with frequent restarts. The good news is that this is manageable when you apply a ...
Printing and Saving PDFs From Web Apps
Printing from a browser looks trivial — until you try it. A modern web UI is built around a scrolling viewport, virtualized lists, fixed drawers and other overlays that the user never thinks about, but that a printer happily reproduces on A4. This post walks through the four options I reach for ...
How To Style Vaadin Components for Both Aura and Lumo
By default, Vaadin components are rendered with minimal base styles. These provide a neutral foundation—useful when you want to build a custom theme from scratch or create a look that differs from the built-in options. Vaadin comes with two main themes: Lumo and Aura. Lumo is the original theme, ...