StepZen and Vaadin logo

Consuming GraphQL APIs from Java applications

GraphQL has become a common alternative to REST as a way to provide data to modern web applications. They both solve the same problem, but GraphQL comes with a different set of trade-offs. It is designed to answer challenges pertinent to larger organizations, such as inter-team communication and ...
Kotlin and Vaadin

Kotlin and Vaadin for productive and fun web app development

Kotlin is a programming language that has gained much popularity over the last few years. Its concise and expressive syntax feels liberating compared to the verbosity of Java. Vaadin supports the Kotlin programming language through the Karibu-DSL library, which contains various extensions to use ...

Don't let deep linking code clutter your UI logic

I recently did an exercise to clean up one of the most used view templates in the start.vaadin.com tool, the MasterDetailView. I implemented almost a dozen tricks to make the code readable and maintainable. I plan to cover some of those in the upcoming weeks, so I decided to start cleaning up the ...

Session Replication in Vaadin: What’s new?

Session Replication is a recurrent topic when talking about high availability. As mentioned in a previous article by Leif Åstrand, Session Replication in the World of Vaadin, the recommendation is to rely on session replication as little as possible. This is due to the efforts required to make the ...

Passkeys - Secure authentication in 2023

Last spring we published a multifactor demo, showing how MFA could be seamlessly integrated into an application to create a smooth experience while protecting specific actions. Around the same time, the FIDO Alliance announced that Apple, Google, and Microsoft have committed to implementing a new ...

Vaadin TestBench: How to stabilize tests in slow environments

Vaadin TestBench is an awesome tool for creating integration tests for your application, but it's not immune to the problems caused by general slowness in your test environment. You might be running low on memory or disk space, or you might be temporarily trying to do more things on your test ...
Display screen with performance charts

Performance profiling: Rendering 90k table cells in 5 different ways

I met a customer at W-JAX who had a performance issue with one of their screens. They were rendering a huge 90-column and around 1000-row TreeGrid on that screen. The screen was a preview for a database query that would ultimately be downloaded as a file for further analysis in another software. ...

How we enabled MFA, passkey, and passwordless using the Webauthn API

With the WebAuthn API, it is now possible to perform strong multi-factor authentication (MFA/2FA) on mobile and desktop browsers in a standardized way. We can allow (or require) users to authenticate using facial recognition, fingerprint, or a hardware security key such as Yubikey or Google Titan. ...
Discord live

Vaadin Office Hours - Your live Vaadin FAQ

Have you heard of the Vaadin Office Hours? We have regularly organized live Q&A sessions for all Vaadin users over the past couple of months. These have turned out successful. So far, we have discussed over fifty different topics together with 148 community members. The Vaadin Office Hours is ...