Docs

FAQ

Frequently asked questions about the Hilla framework.

What is Hilla?

Hilla is a framework for building reactive web applications on Java backends. It seamlessly integrates a React TypeScript frontend with a Spring Boot backend.

Hilla is designed to be simple enough for small utilities, but robust enough to build complex, enterprise-grade applications.

The automatic type generation ensures that your frontend and backend always stay in sync and that you catch mistakes at build time, not runtime.

What are the benefits of using Hilla?

Hilla simplifies the process of creating business applications. It has many benefits:

  • Saves development time by simplifying communication between the frontend and Java backend, eliminating the need to create a REST API;

  • Enforces end-to-end type-safety, identifying errors during the build process, when they are faster to fix, and ensuring they don’t make it into production;

  • Reduces the time to build a UI with more than 45 ready-made components plus a fully-customizable theme, all maintained by Vaadin;

  • Simplifies security with endpoints that are secured by default and validation that ensures data integrity across the server and client; and

  • Gets you started quickly with a zero-configuration toolchain for building both your frontend and backend.

Hilla made for whom?

Hilla provides a simpler way to build complex business applications. A smaller team, or even a solo developer, can build the full stack, instead of having separate frontend and backend teams synchronizing their work. Hilla is also made for those who value open-source transparency together with the option of first-party support for their business.

Who is behind Hilla?

Hilla is made and maintained by Vaadin, the company behind the top Java web framework and corresponding tools and components for over 20 years.

Is Hilla open source?

Yes, Hilla is Apache 2.0 licensed. Hilla is hosted in a public GitHub repository where you can view, extend and modify the source code and report issues.

Can I get enterprise support for Hilla?

Hilla is supported by Vaadin. All the commercial support, components, warranty, and services apply to Hilla. See the Vaadin pricing page for details.

Can I use other React components with Hilla?

Yes, you can use any React components with Hilla, install them with npm and import them in your component as normal.

How is Hilla different from Angular?

Angular is a frontend framework for mobile and desktop applications with modules, dependency injection, and other features that enterprise application developers are used to.

Unlike Angular, Hilla includes both the frontend and Java backend in the same project. Hilla includes everything you need to build an application in one package: UI components, routing, forms, security, build tooling. You can get first-party support for using Hilla from Vaadin, the company that built it.

How does Hilla differ from Vue?

Vue.js is a lightweight frontend framework with a framework-specific component model.

Unlike Vue, Hilla includes both the frontend and Java backend in the same project. Hilla includes everything you need to build an application in one package: UI components, routing, forms, security, build tooling. You can get first-party support for using Hilla from Vaadin, the company that built it.

How is Hilla different from JHipster?

JHipster provides a set of tools for generating full-stack web applications and microservices by combining a Java Spring backend with a React/Angular/Vue frontend.

Hilla is an opinionated full-stack framework that includes a Spring Boot backend and a React frontend. It includes UI components, routing, forms, security, and build tooling. As the framework is updated, the Hilla development team ensures that the different parts of it remain interoperable, and offer documentation for upgrading when needed.

Can I use Jakarta EE or Quarkus instead of Spring Boot?

Neither Jakarta EE nor Quarkus support is on the roadmap. If you’re interested in using either technology, show your interest in this GitHub issue. If there is enough demand, that gives the development team some guidance to adjust the priorities.

Does Hilla work with multi-module projects?

Yes. You can use standard Maven modules in your application, or even external dependencies, as there is no need for endpoints and entity classes to be in the same project as the Hilla application. See Configuration for details.

Can I use Kotlin, Scala, or Groovy?

Hilla is developed using Java as the reference language for the backend. Hilla parses .class files, which can be compiled from other languages as well, but support from some features may vary depending on the language. For example, in Java, an annotation is used to mark a field as not null, while in Kotlin that’s part of the language syntax.

Does Hilla support a microservice architecture?

Yes. Hilla only requires a thin endpoint layer to communicate with the frontend. The rest of the backend can employ a microservice setup that Hilla endpoints would communicate with. See the “Using microservices from Hilla” blog post for more details.