Author: Matti Tahvonen

How to implement responsive web design in Java
Responsive design aims to improve the usability of your app on different devices and varying window sizes. Many consider responsive web design to be a task dedicated to CSS magicians. With Vaadin, the same end result can also be accomplished in pure Java. In fact, you can achieve much more than ...

Five methods to create grid layouts with Vaadin Flow
Vaadin ships with a powerful Grid component to display tabular data but is missing a built-in component for grid layouts. In theory, you could use the API in the data grid to lay out components, but this quickly leads to suboptimal performance, and the API is not designed for generic layouts. If ...

Streamlined Vaadin Flow setup for V24.4
Vaadin 24.4 was a feature release mostly focused on improving React (and Hilla) interoperability and introducing Vaadin Copilot, the new AI-powered development mode widget. However, there are also a couple of quite nice improvements for pure Java developers. Even if none of those interests you, ...

Creating a custom Vaadin UI for an Apache Causeway application
The Apache Causeway project implements the naked objects pattern for Java. In the naked object pattern, the UI is essentially auto-generated based on the domain objects. With only the domain model, and typically some UI hints declared on the domain model, you get a fully functioning UI “for free.” ...

How to open any file with Apache Tika
I wrote a handy web utility for you. It can read pretty much any file, detect a mime type and some of its other (file-specific) metadata, and preview its content as text. I'm not sure if it is really useful for anybody, but at least I hope it will work as an example of using Apache Tika in your web ...

Think twice before overriding Object.equals()
Overriding the Object.equals(Object) method, and its “companion” Object.hashCode(), provides your classes with some superpowers, but they are also one of the most common sources of problems that I see new and sometimes also more experienced Java and Vaadin developers struggling with. Some ...

Top 5 Java libraries for boosting developer productivity in 2024
Java libraries enable developers to be more productive than with pure JDK alone. But not all Java libraries are created equal, and with dozens to choose from, finding the right ones to impact your team’s productivity can be challenging. To make the decision easier, the team at Vaadin has compiled a ...

Creating well-behaving form fields using CustomField
Developing well-structured Vaadin applications is essentially composing a lot of well-named custom components. Some of those components have a few more responsibilities than giving order and structure to your codebase – namely fields, the components you use in your forms to edit the properties of ...

Four ways to display geospatial features in Vaadin Flow UIs
Java is a commonly used platform to edit geospatial data. There is almost an overload of various tools and libraries available. There are a number of UI widgets for Vaadin that allow you to plot and even edit geospatial information. The unique architecture of Vaadin Flow also allows you to build ...