Optimistic view updates for latency compensation

In this tutorial, you'll learn how to keep your web app feeling fast even when your backend or connection is slow, using a technique called optimistic updating or latency compensation. The basic idea is that you update the view before calling the server, optimistically assuming things will work ...
Document graphic with a check mark on the top-right corner displayed on a purple background.

Renewing the Vaadin License Checker

For those using one of our commercial products, you may have encountered the license validation window at some point: When you click on it or log in to vaadin.com to verify your identity, the system is notified that everything is okay, and it goes away, allowing you to continue building your app. ...
Jakarta EE, Spring Boot and the Vaadin logo displayed on a green background.

Jakarta EE is becoming mainstream – Get ready for Spring Boot 3 and Vaadin 24

TL;DR: The Java enterprise application ecosystem at large is making a backward-incompatible leap from the javax.* namespace into jakarta.*. To use next-generation application frameworks like Spring Boot 3 or Jakarta EE 10 compatible application servers, you'll need to use the soon-to-be-released ...

Develop a full-stack Java application with Kafka and Spring Boot

What You Will Build You will build a full-stack reactive web app that sends and receives messages through Kafka. The app uses Spring Boot and Java on the server, Lit and TypeScript on the client, and the Hilla framework for components and communication. A browser window with an app showing one ...
Purple background with a graphic of a lightbulb in the center.

Learn from the best – productivity tips from software architect Petter Holmström

Vaadin not only develops frameworks for building applications. We also develop actual applications. In all of these, we use our tools to some extent, but many deliveries by our Services department are fundamentally generic Java software projects, or consulting on them. This is probably the place to ...
A tree grid on a blue background

Inheritance vs Composition in Web Components

As developers, we strive for efficiency – not only in our code, but also in the software development process itself. One way to achieve this efficiency is to avoid redundancy and prioritize code reuse, so that we do not end up reinventing the wheel. Two tools that we have in our arsenal to achieve ...

Hot-deploy your code – keep focus on your work

Time is money. Something that I still don’t get is that many Java developers spend a lot of it (time and money) while waiting to see their latest code changes in action. JVM is known for its great peak performance when serving large numbers of users, but our tooling isn’t by default that well ...

Reactive endpoints: pushing data to the frontend

Despite being on the web where millions or billions of people move around every day, web applications always tend to start out as being single-user applications. Not in the sense that only one user can log in or one user can use the application at a time but, as a user of the application, you don’t ...

It’s time for hardware multi-factor authentication

Proper use of multi-factor authentication could stop most of the cyberattacks we see today, yet adoption remains low. Good security is usually at the expense of convenience, and multi-factor solutions that are easy to use are hard to implement. Fortunately, technology can be used to offset this ...