@MattiTahvonen (3)">

It's not a bug, it's a feature: Vaadin Flow 24.1 drastically reduces memory usage

Vaadin Flow 24.1 introduces a small but significant commit, optimizing memory usage by making Vaadin Flow collect UI instances more eagerly from the server memory. The so-called Beacon API, which is nowadays available in all browsers supported by Vaadin, is used to notify the server when the ...

Push Notifications: A real-world example with electricity prices

Web Push Notifications, also known as the Web Push API, are a service provided by browser vendors that enable web apps to display operating system notifications to end users, even when the browser window or installed app is closed. While this feature has been available for desktop browsers and ...
Five tips for optimizing memory usage in your Vaadin application

5 tips for optimizing memory usage in your Vaadin application

In my recent blog post, where I showed you how to estimate or measure the memory consumption of your Java application, I promised to provide some simple tips for optimizing your application’s memory usage. Some of the following tips are Vaadin-specific, while others are applicable to JVM services ...
How many users can you host per node?

How many users can you host per node with Vaadin Flow? Let’s do the math!

Servlet session size has been a myth for ages. Many Java developers tend to religiously avoid storing anything in session because somebody at Google said that shouldn’t be done. With Vaadin Flow, that is the root of all goodness. The pure Java development model, the productivity, and the simplicity ...
List your Maven Central-published add-on is Vaadin Directory.

Vaadin Add-on Directory can now list artifacts through Maven Central

Did you develop a cool library or component for Vaadin and publish it on Maven Central? That's great! This approach has several advantages over traditional vaadin.com/directory publishing. The good news is that listing those libraries in the Directory is now possible – with minimal effort. While ...

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 ...

Don't let deep linking code clutter your UI logic

I recently did an exercise to clean up one of the most used view templates in the start.vaadin.com tool, the MasterDetailView. I implemented almost a dozen tricks to make the code readable and maintainable. I plan to cover some of those in the upcoming weeks, so I decided to start cleaning up the ...
Display screen with performance charts

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. ...
Infinite scrolling

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 ...