Author: Matti Tahvonen

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

Three quick ways to display your Java objects in the UI
As a developer, there often comes a time when you need to quickly display your data structures in a human-readable format on the screen. During development, debuggers often provide a nice tree-like view of your data objects, which helps visualize the structure. Building something similar manually ...

Handling slow backend actions in Vaadin apps
Vaadin’s business-app-oriented web frameworks come with a helpful productivity feature that automatically indicates to users when a backend call takes unusually long. While this feature is incredibly useful for developers to understand and manage performance, and is sufficient for most backend ...

Building Vaadin add-ons with minimal dependencies and Spring Boot setup
In this blog, we'll show you how to minimize dependencies in Vaadin add-ons, use Spring Boot for easy development and testing, and set up a clean Maven project for compatibility with various tech stacks. It's crucial to keep the number of transitive dependencies in your add-ons to a minimum. This ...