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 ...
Learn how to migrate add-ons from Vaadin 8 to Vaadin 24.

How to migrate add-ons from Vaadin 8 to Vaadin 24

If you're familiar with Vaadin, you know that add-ons significantly enhance the development experience. They offer a wealth of additional functionality, widgets, and presentation options for your Vaadin-based applications. Upgrading to a newer Vaadin version can sometimes lead to compatibility ...
Secure Coding practices 2: Binary upload validation

Secure coding practices 2: Binary upload validation

When it comes to web applications, security is a paramount concern, and the Open Web Application Security Project (OWASP) offers essential guidelines to fortify your app against various vulnerabilities. In the previous article of this series, we looked at the basic user input validation. In this ...
Secure Coding Practices 1: User input validation

Secure coding practices 1: User input validation

When it comes to web applications, security is a paramount concern, and the Open Web Application Security Project (OWASP) offers essential guidelines to fortify your app against various vulnerabilities. In this article, we'll focus on basic user input validation using Java and Vaadin. For more ...
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 ...
Styling with Lumo in Vaadin

Styling your Vaadin application with Lumo

When it comes to developing user-friendly web applications, Vaadin provides a robust platform that offers a wide range of customization options. At the heart of these options is Lumo, a theme that sets the tone for your application’s aesthetics. Vaadin’s flexibility allows you to tailor each aspect ...
Lazy Loading Hierarchical Data

Lazy Loading Hierarchical Data for Efficient UI and Database Performance

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