Blog

Hilla 2.0: New features and an improved technology baseline using Spring Boot 3 and Java 17

By  
Marcus Hellberg
Marcus Hellberg
·
On Mar 23, 2023 2:14:34 PM
·
In Product

We are happy to announce the release of version 2.0 of Hilla, the type-safe web framework for Spring Boot. This latest release represents a major milestone for Hilla, as it introduces a new technology baseline that utilizes Spring Boot 3, Java 17, and Jakarta EE 10. This means that you can continue to develop Hilla apps while taking advantage of the latest and greatest features and improvements in the Java ecosystem.

Hilla 2.0 also includes several new features: an improved TypeScript generator, web socket support for the creation of reactive endpoints, support for building GraalVM native images, a simplified theming mechanism, and a new SSO Kit for quickly adding single sign-on capabilities to Hilla apps.

What's new?

Support for reactive data types in endpoints using web sockets

Hilla 2.0 now supports returning Flux and Mono types over a web socket.

Return a Flux from the endpoint:

ContactsEndpoint.java

public Flux<String> getNames() {
    return Flux.just("Bob", "Alice");
}

Subscribe to updates on the client:

Endpoint.getNames().onNext((name) => console.log(name));

Read the reactive endpoints documentation for more information.

GraalVM Native image support

Hilla 2.0 includes AOT compiler hints needed by Spring Boot to build a native GraalVM image. Native images have the benefit of faster startup times (often in milliseconds) and lower memory usage than JVM-based applications.

This feature requires a GraalVM JDK.

You can build a native image locally through Maven with:

mvn -Pproduction -Pnative package native:compile
target/<app-name>

You can leverage buildpacks to create a container for production deployment.

Simplified theming

Hilla 2.0 uses version 24.0 of Vaadin components. The new version of the components features a simplified styling API using the ::part() selector. Read the styling documentation for more details.Group 98-png

SSO Kit for Hilla

Hilla 2 introduces support for SSO Kit. You can now integrate your Hilla application with third-party identity providers, allowing users to benefit from single sign-on capabilities. SSO Kit provides all of the configuration needed to add single sign-on capabilities to your Hilla applications based on OpenID Connect.

See documentation

A commercial Vaadin subscription is required to use SSO Kit in your project. Request a free trial!

How do I upgrade?

You can upgrade from an earlier Hilla version by replacing the version number with 2.0.0 in your pom.xml. Ensure that you have Java 17 or newer.

<properties>
       <java.version>17</java.version>
       <hilla.version>2.0.0</hilla.version>
   </properties>

In addition, you will need to update any com.javax imports to com.jakartaee. See the Spring Boot 3.0 migration guide for more details.

Need help? Join us on the Vaadin Discord, or post your questions on StackOverflow with the "hilla" tag.

What's next?

The next feature release, Hilla 2.1, will include new helpers for Form binding in Hilla + React, an enhanced SSO Kit that requires less boilerplate to set up single sign-on, and better starters and documentation. In addition, we plan to experiment with adding helpers for creating CRUD views and helpers for deploying Hilla to AWS Lambda.

Hilla 2.1 is scheduled for June 2023, so stay tuned!

Learn more about Hilla or follow @hillaframework on Twitter for the latest updates. Be sure to tag us when you share cool stuff you've built with Hilla! 

Marcus Hellberg
Marcus Hellberg
Marcus is the VP of Developer Relations at Vaadin. His daily work includes everything from writing blogs and tech demos to attending events and giving presentations on all things Vaadin and web-related. You can reach out to him on Twitter @marcushellberg.
Other posts by Marcus Hellberg