Formerly known as Vaadin Fusion, Hilla offers many capabilities to simplify business application development, such as providing a unified project setup for Java and TypeScript that remains in sync. It has a comprehensive set of UI components, e.g. Vaadin components. It also offers support for single-page applications including Spring Security for securing applications.
Hilla contains all the necessary artifacts that a web application requires, such as routing, forms, security, build tooling etc. On top of that, the framework provides an automatic TypeScript code generation that keeps the frontend in-sync with the front end. For example, if a developer creates the following endpoint in Spring Boot, two items are linked:
|A developer codes Java||Hilla automatically generates TypeScript|
Hilla is made and maintained by Vaadin, however, it doesn’t include the Vaadin Flow. Instead, it uses the Lit, a lightweight library similar to ReactJs, for building native web components. Along with this, Hilla includes both frontend and backend in the same project. Regarding this, Leif Åstrand, product management lead at Vaadin, mentioned that:
Contrary to conventional wisdom about separating the frontend and the backend, we’re looking for opportunities to optimize based on bringing server-side Java and client-side TypeScript closer to each other.
Nowadays, Spring Boot brings most parts of the Java ecosystem together in a way that works based on conventions, with minimal need for separate configuration.
Although the first major release of Hilla supports Java, a Vaadin webinar explains that other JVM languages, such as Kotlin, could be included in the future. Furthermore, since it is an open-source project currently under Apache 2.0 license, anyone can view, extend and modify the source code and report issues.