@MattiTahvonen (2)">
Asynchronous JavaScript execution in Vaadin Flow

Asynchronous JavaScript execution in Vaadin Flow

Web applications built entirely in Java. That promise holds true when core Vaadin Flow components and browser APIs are enough. However, if you’re creating custom components or using modern asynchronous browser APIs, you’re likely to encounter a very different kind of “Promise.” JavaScript's ...
Testing Vaadin Applications Using Playwright

Testing Vaadin applications and add-ons using Playwright

Playwright is a browser automation tool similar to Selenium (WebDriver). These tools can be used as such to implement end-to-end tests that simulate actual user actions through the browser. Often, those are used through higher-level testing libraries such as Vaadin TestBench (built on top of ...
Embedding Vaadin Flow Apps in a React-Based Web App

Embedding Vaadin Flow apps in a React-based web app

In my recent blog post, I discussed wrapping a component implemented with React in a Vaadin application. A greatly undervalued way to use Vaadin is by implementing only certain functions or parts of your web app or website. In that case, we are essentially doing the opposite: wrapping a Vaadin ...
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 ...