Category:
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 when a Vaadin app needs to produce paper (or PDFs), with runnable snippets taken from the companion wwcd demo project and notes on when each approach earns its keep.
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
When you think about business applications, two UI patterns probably come to mind: CRUD (create, read, update and delete) views consisting of an item listing and a form for editing, and dashboards. While CRUDs are probably where users spend most of their time, the dashboard is usually what they see ...
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 ...
How to use own Figma components in Vaadin applications
In this guide, you’ll learn how to copy components from Figma and paste them into Vaadin as Java or React code using Vaadin Copilot’s Figma Importer API. This article is based on: Demo project Figma component and instance example Before we begin To have the best experience while working with ...
How to add HTTPS to your Java web application
HTTPS (aka HTTP over TLS aka HTTP over SSL) is no longer optional for web sites. Even if your application wouldn’t handle critical data that attackers would be interested in, or it would be only used within a secure intranet, modern browsers show a scary “Not secure” warning to users accessing ...
Make the loading indicator in Vaadin great again
Every interaction in a Vaadin UI sends a request to the server. If that response takes longer than ~300 ms, Vaadin shows a loading bar across the top of the page to prevent user confusion. It appears the moment the request leaves the browser and disappears as soon as the response returns. Default ...
Sharing made simple: Integrating the Web Share API with Vaadin
The Web Share API is a modern browser feature that enables users to easily share content—like URLs, text, or files—via the operating system's native sharing dialog. This is especially handy on mobile and touch-based devices, where copy-paste workflows can feel clunky. As developers, we often rely ...