Author: Matti Tahvonen
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 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
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 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 ...
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 ...
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
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
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 ...
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 ...