Lazy Loading Hierarchical Data

Lazy-loading hierarchical data from UI to database

I shared my experience with performance optimizations a couple of weeks ago at our Vaadin Create conference. One key takeaway was implementing lazy loading at the client-server and database layers. Lazy loading essentially transfers only the required data to the client and requests a reasonable ...
Learn how to create a Java wrapper for your React component

Creating a Java wrapper for a React component

In a recent blog post, I debunked the myth that a Web Component is essential as a counterpart to your Vaadin Java component. The Element API in Vaadin Flow is also apt for raw JS components. Given that React components are JS components, it's feasible to wrap them directly. However, React's unique ...
Explore a database-free approach with Eclipse Serializer for efficient data handling in this blog.

You might not need the database

Bashing ORM tools, which in the JVM bubble is most likely Hibernate, is probably the most common hobby among developers. I agree ORM is often an obsolete piece in our technology stacks, but I claim that in most cases, it ought to be the relational database itself that should be burnt with fire. ...
OpenID Connect authentication & Vaadin - An integration example using Quarkus

OpenID Connect authentication & Vaadin - An integration example using Quarkus

This blog post discusses the advantages of using OpenID Connect (OIDC) for handling authentication in web applications. It also provides an example of integrating OIDC with Vaadin using Quarkus, emphasizing the importance of security libraries and best practices when working with OIDC. OpenID ...
Building Java API for JavaScript libraries - The lightweight approach

Building Java API for JavaScript libraries - The lightweight approach

Many Vaadin add-ons are wrappers around existing JavaScript libraries or components. The tooling and documentation in Vaadin are primarily targeted for the optimal case, where the wrapped component is a Web Component. The huge rewrite of the framework in version 10 was done largely to optimize this ...
Learn how to tackle HTTP range requests in Java web apps.

Efficiently serving video files in Java web apps with HTTP range requests

Streaming video and audio content has become essential to modern web applications, providing users with an engaging and interactive experience. HTTP range requests are crucial to delivering these media files efficiently. Range requests allow for seeking within video and audio files, enhancing the ...

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