Category:
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 feature in an afternoon. In this tutorial we'll build a complete AI assistant inside a Java web app: a real chat view, token-by-token streaming, retrieval-augmented generation (RAG) over your own documentation, and the cost tracking, limits, and failure handling that most tutorials skip.
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, ...
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. ...