Responsive Web Design with Java and Vaadin Flow

Building responsive websites with Java and Vaadin Flow

Responsive web design is an approach to building web applications that dynamically change the size or orientation of the visible elements for ideal viewing on viewports of various sizes. At various breakpoints (developer-defined numerical values of viewpoint dimensions), one may notice menus ...
Persist data with pure Java

Persist your data with pure Java

In the fast-paced world of software development, efficiency and simplicity often dictate a project's success. This is why many Java developers have chosen Vaadin. With Vaadin, you can use a single language and execute your code in a single execution environment to create compelling web UIs. This ...
Accessing WebAuthn API with Vaadin

Forget passwords - Accessing WebAuthn API with Vaadin

Various WebAuthn/passkey-related questions have been trending in the Vaadin community, and unsurprisingly so. In 2024, "passkeys" should become the only acceptable authentication method for any self-respecting software craftsman, and passwords should be burnt with 🔥. Some questions have been ...
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 ...
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 ...
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 ...