Category: Tutorials
How to Send Web Push Notifications from your Java App with Vaadin Flow
Updates on the subject: There are built-in helpers for Web Push API in Vaadin Flow available since version 24.2 Also check out Web Push Notifications: A real-world example with electricity prices Web push notifications are an effective way to keep users engaged with your web application even when ...
Toggle between light and dark theme in Vaadin Flow
Updated to Vaadin Flow 24 on 2023-02-23 A common question we get from Vaadin developers is how to switch on the dark theme variant dynamically. In this tutorial, I’ll show you how to turn it on permanently, and how to dynamically apply the dark variant to the entire application or only parts of it. ...
SessionScope vs. VaadinSessionScope - Which one should you use?
Dependency injection is magic, some say. It is magic, especially if you don’t understand what is happening behind the scenes. Vaadin developers have two almost identical scopes available for their beans: SessionScope (from Spring core) and VaadinSessionScope (from vaadin-spring). Picking the wrong ...
Performance profiling: Rendering 90k table cells in 5 different ways
I met a customer at W-JAX who had a performance issue with one of their screens. They were rendering a huge 90-column and around 1000-row TreeGrid on that screen. The screen was a preview for a database query that would ultimately be downloaded as a file for further analysis in another software. ...
How to implement infinite scrolling using Vaadin components
Infinite scrolling is a common UI pattern where more of a large data set is dynamically loaded from the server while users scroll through the page. The approach used by, for example, several social media platforms saves a lot of computing resources both on the client and server side without ...
Custom component unit and integration testing tips
How to make your custom component a robust building block of your UI. In this tutorial, I will share some more ideas in the domain of creating custom components. My previous blog post was about creating a custom component with Lit, this is the next chapter of the story. This time we will learn some ...
The Java Developer’s Approach to Web Bluetooth
The Web Bluetooth API is one of the interesting new technologies that the Google Chrome team has cooked up that further narrows the gap between web apps and “real” apps. It allows full access to Bluetooth devices straight from the browser. The ability to connect directly to various devices like ...
Enable Live Reload for your Vaadin project
Vaadin Flow supports live reload features out of the box. This enables developers to view their changes in the browser without manually restarting the server and refreshing the browser after each change in the code. In this blog post, I'll show you how to enable automatic browser reloads for your ...
Create a custom component with Lit
Learn how to make your custom component a first-class citizen in the Lumo design system. In this tutorial, I will share some learnings I have gathered with my team when we have implemented custom components for Vaadin. When you start creating your custom components, I would assume you like them to ...