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. 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 :
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. 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 InformationRelated Articles
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.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Monday, 21 March 2022 ) |