Author: Matti Tahvonen

Passwords continue to be a persistent pain point in web security—tricky to implement safely and even harder to manage due to weak user practices and vulnerabilities like social engineering. Thankfully, we have a robust alternative available: Passkeys via the Web Authentication API (aka WebAuthn).

Enhancing Vaadin API for Spring Data and beyond
With the upcoming Vaadin 24.7 release, we’re introducing a couple of minor but impactful enhancements that embody our mission: making Java-based web development simpler and more productive. One of the key improvements in this release is an enhancement to the Grid API, allowing developers to ...

Maven 4 is coming – Here's what you should know
Maven 4 is on the horizon, with Release Candidate 2 (RC2) already available for early adopters. While an official release date is still unknown, at least one more RC (RC3) is expected. If you're working with Maven-based projects, now is a great time to test out the new version and prepare for the ...

Jakarta Data - Better repositories?
"The Jakarta Data specification provides an API to simplify data access. It enables Java developers to focus on the data model while delegating the complexities of data persistence…" The official goal of the specification could also be summarized as an attempt to standardize the good parts of ...

Dynamically generated forms with Vaadin Flow
Andreas Lange from WMware Tanzy recently published an insightful example where a Vaadin application dynamically generates a grid and a form based on domain objects annotated with metadata that provides hints for the presentation layer. This inspired me to revisit a topic that is both old and new in ...

Unleashing Vaadin for GUI-Based Java Scripts with JBang
JBang: Making Java work for utility apps and scripts Java has long been known for its robustness and scalability, but it has never been the go-to choice for small utility apps or quick scripts. While tools like Bash and Python are commonly used for scripting, they often come with their own set of ...

Use Java - It can be the most elegant method for you
TLDR: this is a ranty reply to a recent article about styling I didn't fully agree with. The rest of the TLDR is in the Java code example. Java code can be elegant—even when it’s used to adjust the style of your UI components. In a recent article about theming Vaadin applications, my colleague ...

Implementing a custom UI for a web app that has no API
It has happened before, and it happened again. I found myself dissatisfied with software I had to use multiple times a week. As a professional UI developer, I am particularly sensitive to bad UX. When a perfectly functional phone reservation service for my home island’s ferry was replaced with a ...

Don't be afraid of classes
“Java is a high-level, class-based, object-oriented programming language” - Wikipedia. I get to see and read a lot of Java code at work. Sometimes, I even get to write some.🥳 Recently, I have noticed a tendency that we Java developers are, for some (wrong?) reason, afraid of classes. A class is a ...

How to publish Java libraries to Maven Central with GitHub
The Central Repository, often referred also as Maven Central or simply Central, is the primary repository for publicly shared JVM libraries, independent of the actual build tool. For example, since JCenter was closed, you are most likely using Maven Central, even if you wouldn’t be using Maven. ...