Category:
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 good reader, one beloved old Eclipse desktop app kept turning up on every "best of" list—RSSOwl—and it wouldn't even launch on my Mac. I'm a developer, so instead of shrugging I got nosy: how hard would it actually be to ...
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, ...
Embedding Vaadin Components in Angular
We recently made a study for new people experiencing using Vaadin for the first time. When finding people who are doing Java web development, many are currently working on Angular applications. The study was very successful and many liked the “Vaadin way”, but we were left with an open question ...
How We Built an Accessible Dashboard Component
Vaadin's new Dashboard component is built to fully conform to WCAG 2.1 AA — the accessibility standard underpinning both the EU's Accessibility Act and the US's ADA/Section 508 requirements. Here's how we got there, and the specific challenges that come up when you combine strict accessibility ...
Building the Perfect Docker Image for a Java app
I recently hosted a webinar with Catherine Edelveis from BellSoft on optimizing Docker images for Java applications. Catherine presented examples using a Spring Boot app with a Vaadin frontend, MongoDB, Kafka, and Spring Security — a setup that's closer to production reality than most demo apps. ...
What it takes to build a set of Vaadin components
This post is my personal reflection on eight years of building and refining Vaadin components across major versions, and the lessons learned along the way. The journey behind major versions from 10 to 25 Working on building a Java framework is quite an interesting challenge… And even more so if you ...