SessionScope vs. VaadinSessionScope - Which one should you use?

Dependency injection is magic, some say. It is magic, especially if you don’t understand what is happening behind the scenes. Vaadin developers have two almost identical scopes available for their beans: SessionScope (from Spring core) and VaadinSessionScope (from vaadin-spring). Picking the wrong one sometimes causes the magic to break. Recently I got a request to help in a situation where the Vaadin application threw an exception like this:

Subscribe to our newsletter

Be the first to learn about new Vaadin resources and tips

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

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

Vaadin’s 2022 highlights and plans for the new year

As 2022 is winding down, let’s take a look back at some of the Vaadin highlights for the year, along with a quick sneak peek into our plans for 2023. Product news Vaadin 23 and a new release model In March, we released Vaadin 23 which also paved the way for our new, simplified release model where ...