File-Based Routing in Vaadin 24.4: Simplify Hilla App Creation

Introducing file-based routing in Vaadin 24.4: Simplify Hilla app creation

With the release of Vaadin 24.4, developers building Hilla applications now have access to a powerful new feature: file-based routing. This enhancement streamlines the process of adding new views and configuring view properties directly within your React components. In this blog post, we'll explore ...
Explore top ways for creating grid layouts in Vaadin Flow, including add-ons, HTML tables, Bootstrap-like solutions, and CSS Grid for optimal performance.

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 ...
Building AI-Powered Java Applications

Building AI-Powered Java Applications

In the past few months, I've spoken about building AI-powered Java apps at tens of events around the world. What I’ve seen is that Java developers are curious and eager to learn, but AI can seem like a big and daunting new area to get into. Most of us have demanding jobs that occupy our time, and ...
Trimmed-down Vaadin Flow setup for V24.4

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, ...
Banner image with text: Building on Gemini 1.5 as a Java developer

Building a Vaadin & Gemini AI Chatbot

This is the first part of our in-depth series on building a Vaadin & Gemini AI chatbot. In part two, we’ll add context management and UI customizations to enhance the chatbot. This blog post will detail how to build a web application that allows the user to input text prompts and receive a text ...
How to create a custom Vaadin UI for an Apache Causeway application

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.” ...
Learn how to open any file with Apache Tika.

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 ...
A minimal OpenID Connect (OIDC)-secured Vaadin Flow application with Spring Boot

A minimal OpenID Connect (OIDC)-secured Vaadin Flow application with Spring Boot

So, do you want or need to build a Java-based web application that is secured by a Single Sign-On (SSO) login? This is a very typical use case where you have part of an application that is not public and requires an authenticated user to access it. You could build a login mechanism yourself, but ...
Minimalist Java apps with Vaadin and Spring AI

Minimalist Java applications with Vaadin and Spring AI

“Fight for Simplicity” has always been our motto. Personally, that has meant I want to keep simplifying my code. This post is an example of that effort. Revisiting AI integration in Vaadin applications A year ago, you could read about Harnessing Generative AI for Business Applications. This ...