Vaadin 24 Release features

As per this link Vaadin 24 and Hilla 2 are expected to be released today, on March 1st, 2023.

Are there any exciting features to look forward to? I’m aware of the express mode and styling simplifications.

Thank you @quirky-zebra , as always you are gracious to reply. I am commencing a new project with Hilla react within the next 1-2 days and was wondering if there’s a possibility that Hilla 2 will be launched today.

Also had a look at github page, although I am a big fan of Vaadin, it appears that version 24 is merely an incremental upgrade, aimed at keeping up with other changes in the Java world. I hope that I am wrong in my assessment.

It’s called the “nasty release” because it upgrades the whole technical stack to Java 17, Spring Boot 3 with it’s changes like Tomcat 10.1, Hibernate 6 and so on - probably easy for a new / starting application, but a nightmare for a big enterprise application or frameworks to migrate to - so the focus was on this. For Hilla the most important things are new improved Maven Plugin / Multi Module Support but I’m not sure how far the guys are with it. @secure-leopard could probably say more about it

Thank you, @quirky-zebra It makes sense. I had not realized that Hibernate was also being upgraded to version 6, presumably because of Spring Boot 3.

Correct :+1: SB 3 brings A LOT of changes under the hood

Don’t expect 24 for today, postponed with one week due to issues found in rc releases.

I see that RC 3 for 24 is now out, wondering if 24 release is likely this week.

If you are so eager to migrate, just go for it :wink: I’ve already migrated multiple apps to beta Versions and those where already stable enough.

I wish I could, work place policies sigh :unamused: but it appears that both vaadin flow and hilla 2 have been pushed to maven central

Reason for my eagerness to try out latest and great, my team is starting a new UI project, and we are considering two options: React with Hilla and React with Node.js. To be deployed on AWS as elastic beans talk project However, the other members of my team are not familiar with Hilla.

I have had success using Vaadin Flow, and therefore, I have been advocating for Hilla as the preferred option for our project. Despite my recommendations, the rest of my team is still apprehensive about using Hilla.
Support for Graalvm is quite exciting!

Support for reactive endpoints
Support AOT GraalVM native image compilation, enabling faster startup and lower memory requirements compared to running with JVM.

What are their main concerns with Hilla? That they don’t want to use Spring Boot?

Thanks for asking. In my opinion, the main concerns that some team members have with Hilla are not related to technical issues, but rather stem from their lack of familiarity with it. And possibly javascript fatigue, where there is new framework every other day.

They may not have heard about Hilla from their friends or recruiters, which may be reason for their hesitance in trying it out.

It’s also worth mentioning that some team members come from non-Java backgrounds, such as Node.js or C#, and spring Boot ecosystem is daunting for them. Conversely, other team members may have a strong Java background and prefer to stick with the tried and tested Java platform.

As a side note, I tried to find some online benchmarks comparing the performance of Node.js single-threaded servers with Spring Boot’s Tomcat/Netty servers. Most of the benchmarks I found showed that Node.js servers outperformed typical Java webservers by a significant margin. Which I found really surprising. And it would be obvious why I did that, expecting java webservers to outperform nodejs comfortably and use that as an argument in favor of hilla.

GraalVM support for both Hilla and Flow is a standout feature, and I extend my gratitude to everyone who contributed to Flow 24/hill 2 release !

Are you building the next Netflix and are worried about Performance bottlenecks? (Joke, Netflix uses Spring Boot :sweat_smile:) Personally I would always choose the tool that fits the team the most - you have highly experienced java developers? Use java… you have nodejs developers? Use nodejs. Yes, developers can switch between multiple languages and stacks, but literally 10+ years of experience can’t be changed overnight and you win so much more of your developers are comfortable with the selected language / framework already (which also explain why they are hesitating with hilla in my opinion)

I completely agree with your point that choosing the right tech stack for a project should depend on the team’s expertise, rather than simply following trends or trying to brag about using a particular platform.

In my team, for instance, around 50% of developers prefer Java, while the remaining members have a background in Node.js and .NET, making it challenging to find a suitable technology that satisfies everyone’s needs.
Please don’t ask me why is the team structure like this :slightly_smiling_face: , i guess one of reasons is that domain knowledge is more important than software development skills for the kind of work team does. And some team members were part of the acquisition that were working in similar fields but with different software stacks.

Finally, we agreed to use React for building the user interface. And I am quite glad that hilla now supports react!, and that too with graalvm. yay !
Hope Loom (virtual threads) comes out of preview in java 21 to make it a memorable year for java.

While I cannot speak for the other Java developers on my team, I have personally been disappointed by the limited choices available in Java for building Single Page Applications (SPAs). I found JSF to be a painful and bloated option, and other frameworks like zkframework and GWT seem to have lost popularity and support over time.

Vaadin seems to be moving in a good direction with Hilla, web components, and support for React. So I am hoping, partly selfishly, that it continues to do so to avoid having to learn another platform.

I’m myself looking forward to Loom / Java 21 at least as well! Personally I think GraalVM needs 2-3 years and polishing before I would even consider using it in production. My current hosting environments (self hosting / on premise with dedicated VMs or Contsiner) don’t need those fancy tools (at the moment) - so I’m quite hesitant to invest in that regard, it just doesn’t solve a problem I have.

One of our product teams had similar problems with choosing a stack for a new development with a team having dedicated Java and .Net Deceloper. They have choosen Vaadin Flow with Spring Boot as frontend and .Net as Backend Layer communication over defined REST Interfaces. No need to learn yet another language and rapid evolving frameworks for long living and dedicated user base.