Vaadin 23.0.0 Released - Flow and Hilla
Written by Nikos Vaggalis   
Monday, 21 March 2022

Vaadin, the versatile full stack Java-based framework that is a competitor to Spring MVC, continues to innovate with its new release of v23 which sees the first release of Hilla, the new name for Vaadin Fusion.

Vaadin consists of two frameworks, server-side Flow and in an attempt to lure developers that work say with Angular, a frontend framework introduced as Fusion in Vaadin 15, which allows to do your reactive UI logic in TypeScript while continuing writing the backend in Java.

To disambiguate between the two and make the distinction clearer, Fusion is now called Hilla and has its own website.

hillalogo

This change will make it easier to find relevant documentation easier and not be mixed up with Flow's, allow clearer communication and allow Flow and Hilla to evolve more independently, as Hilla will from now on follow it's own version sequence.

Hilla's main features are :

  • A zero-configuration toolchain for building web applications with Lit TypeScript UI and Java Spring Boot server side
  • Easy and type-safe back end access using TypeScript endpoints and data definitions generated from Java code
  • Form binding with shared data validation on server and client
  • Vaadin web components for building the UI

That aside Vaadin 23 requires Java 11 while the previous release, Vaadin 22 was the last version to support Java 8. This version also includes bug fixes and improvements on the Form Layout configuration and Accessibility as well as defaulting to npm as the frontend package manager.

Frameworks like SSR Flow which hide the complexity and make use of a single language for writing both the backend and the frontend have been on the rise, which begs the question whether Javascript will be ousted from the frontend any time soon.

vaadin23

It seems that we're going in circles - from Multipage rendering to Client side rendering with AJAX, to SPAs (Single Page Applications)  to SSR (Server Side rendering), where just like MPA (Multi Page Application) the backend server is in charge. It's true that JS frameworks (for example React, Preact, Vue, and Svelte) have been doing SSR using Node backends to run the Javascript on client and server, pre-rendering to HTML, and finally running on the client. Now we are talking of languages like Java or C# doing the same.

Take Blazor for instance which is a way to write web applications both on the server and client side with . NET and C# instead of using Javascript on the front-end. Code in Blazor compiles to WebAssembly, not Javascript.

The way it works is that a . Net runtime compiled to WebAssembly is downloaded into the user's browser which then runs the Blazor application in the same sandbox that JavaScript runs. And due to this magic of WASM, you can run high intensity apps, even C++ games, inside the browser!

Vaadin offers the whole package that includes Web components with which you construct your frontend. There are no HTML templates because the views are implemented in Java. But nowdays there's new solutions that decouple the process by using powered up HTML on the client. htmx and Hotwire for example are both stack agnostic and offer html rendering with SPA mentality.

htmx for instance extends the normal html syntax and allows for performing asynchronous requests to the server which in turn responds with html content that htmx will subsequently swap on the client.

There's also hybrid approaches on the rise which carry the advantages of both sides instead of one replacing the other. One such example would be combining server rendering and CSR via rehydration which attempts to smooth over the trade-offs between Client-Side Rendering and Server Rendering by doing both.

Saying that I'm just happy with Vaadin Flow which makes doing web development based solely on Java and web components possible, but it's important to be on the lookout for any new approaches. As always use the right tool for the right job.

 

More Information

Vaadin 23 is finally here!

23 release notes

Hilla website

Related Articles

Vaadin Reaches Version 21

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


JetBrains Improves Kubernetes Support In IDE Upgrades
12/11/2024

JetBrains has improved its IDEs with features to suggest the logical structure of code, to streamline the debugging experience for Kubernetes applications, and provide comprehensive cluster-wide Kuber [ ... ]



Microsoft Introduces Vector Abstractions Library For .NET
21/11/2024

Microsoft has announced a preview release of the Microsoft Extensions VectorData Abstractions library, which can be used to help integrate vector stores into .NET applications and libraries.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 21 March 2022 )