# Hilla Reference > Learn how to use Hilla, a full-stack web framework that seamlessly integrates a Spring Boot backend and a React frontend. Parent index: [Vaadin Docs](https://vaadin.com/docs/v24/llms.txt) ## Overview - [Hilla Reference](https://vaadin.com/docs/v24/hilla.md): Learn how to use Hilla, a full-stack web framework that seamlessly integrates a Spring Boot backend and a React frontend. ## FAQ - [FAQ](https://vaadin.com/docs/v24/hilla/faq.md): Frequently asked questions about the Hilla framework. ## Guides - [Guides](https://vaadin.com/docs/v24/hilla/guides.md): Explore a range of guides to enhance your development experience with Vaadin's Hilla. - [Endpoints](https://vaadin.com/docs/v24/hilla/guides/endpoints.md): A server-side Java endpoint is a backend method that's exposed for calling from client-side TypeScript code. - [Reactive Endpoints](https://vaadin.com/docs/v24/hilla/guides/reactive-endpoints.md): Reactive endpoints allow you to stream data to the client without the traditional HTTP request-response pattern. - [Client Middleware](https://vaadin.com/docs/v24/hilla/guides/client-middleware.md): In Hilla, middleware intercepts the request and response for every call, so it's able to process requests and their responses. - [Routing](https://vaadin.com/docs/v24/hilla/guides/routing.md): How to implement routing in Hilla React applications. - [Data Grids](https://vaadin.com/docs/v24/hilla/guides/data-grids.md): Quickly create data grids using the Auto Grid feature. - [Forms](https://vaadin.com/docs/v24/hilla/guides/forms.md): Build and manage forms in Vaadin Hilla applications with this detailed guide. - [Binding Data to Forms](https://vaadin.com/docs/v24/hilla/guides/forms/binder.md): Binding data to UI components in TypeScript forms. - [Loading & Saving Form Data](https://vaadin.com/docs/v24/hilla/guides/forms/binder-load.md): Loading data to Binder and submitting it for saving. - [Validating User Input](https://vaadin.com/docs/v24/hilla/guides/forms/binder-validation.md): Validating user input using Bean Validation together with the Binder API. - [Reacting to Form State Changes](https://vaadin.com/docs/v24/hilla/guides/forms/form-status-tracking.md): How to recognize different states of fields and forms and react accordingly. - [Binding Data to Input Fields](https://vaadin.com/docs/v24/hilla/guides/forms/vaadin-components.md): Implementing data binding, type mapping and error messages when binding data with Hilla components. - [Binding Arrays](https://vaadin.com/docs/v24/hilla/guides/forms/binding-arrays.md): Working with arrays using form binding API. - [Image Fields in Forms](https://vaadin.com/docs/v24/hilla/guides/forms/form-images.md): Allowing images to be uploaded in forms. - [Form Binding](https://vaadin.com/docs/v24/hilla/guides/forms/reference.md): Understanding form binding. - [Uploading & Downloading](https://vaadin.com/docs/v24/hilla/guides/uploads-downloads.md): How to implement file uploading and downloading in Hilla React applications. - [Client-Side Data Caching](https://vaadin.com/docs/v24/hilla/guides/client-caching.md): Understanding when and how to cache client-side data. - [Styling](https://vaadin.com/docs/v24/hilla/guides/styling.md): How to add CSS styles to views and React components in Hilla applications. - [Security](https://vaadin.com/docs/v24/hilla/guides/security.md): The best practices for securing applications, configuring security, authentication and role-based access control for views. - [Introduction](https://vaadin.com/docs/v24/hilla/guides/security/intro.md): An introduction to the Hilla security architecture and how it works in practice. - [Controlling Endpoint Access](https://vaadin.com/docs/v24/hilla/guides/security/configuring.md): How to specify the role-based access control rules as annotations for the endpoint class or its individual methods. - [Authentication with Spring Security](https://vaadin.com/docs/v24/hilla/guides/security/spring-login.md): How to configure authentication with Spring Security. - [Accessing Auth Data](https://vaadin.com/docs/v24/hilla/guides/security/authentication.md): Accessing authentication data such as username and roles on the server side, as well as transferring the data to the client. - [Stateless Authentication](https://vaadin.com/docs/v24/hilla/guides/security/spring-stateless.md): Using stateless authentication to persist authentication on the client side between requests. - [Offline Authentication](https://vaadin.com/docs/v24/hilla/guides/security/offline-auth.md): Storing the authentication data in the browser for offline applications. - [Best Practices](https://vaadin.com/docs/v24/hilla/guides/security/best-practices.md): Best practices in authentication and authorization, data validation, and SSL and HTTPS. - [Testing](https://vaadin.com/docs/v24/hilla/guides/testing.md): How to test views in Hilla applications. - [Deploying to Production](https://vaadin.com/docs/v24/hilla/guides/production.md): Deploy Hilla applications to production environments with confidence. - [Production Build](https://vaadin.com/docs/v24/hilla/guides/production/production-build.md): How to create a production-ready package of an application, which can then be deployed. - [Servlet Container](https://vaadin.com/docs/v24/hilla/guides/production/servlet-containers.md): Deploying a Hilla application to a traditional servlet container, such as Tomcat or Jetty. - [Spring Boot](https://vaadin.com/docs/v24/hilla/guides/production/spring-boot.md): Deploying Spring Boot-based applications. - [Native Image Compilation](https://vaadin.com/docs/v24/hilla/guides/production/native.md): Learn how to compile a Hilla application into a native image using GraalVM. - [Cloud Providers](https://vaadin.com/docs/v24/hilla/guides/production/cloud-providers.md): Learn how to deploy your application to third-party cloud hosting providers. - [Amazon Web Services](https://vaadin.com/docs/v24/hilla/guides/production/cloud-providers/aws.md): Learn how to deploy a Hilla application to Amazon Web Services (AWS). - [Azure](https://vaadin.com/docs/v24/hilla/guides/production/cloud-providers/azure.md): Learn how to deploy your Hilla application to Microsoft's Azure cloud. - [Google Cloud](https://vaadin.com/docs/v24/hilla/guides/production/cloud-providers/google.md): Learn how to deploy your Hilla application to Google Cloud. - [Heroku](https://vaadin.com/docs/v24/hilla/guides/production/cloud-providers/heroku.md): Learn how to deploy your Hilla application to Heroku. - [Troubleshooting](https://vaadin.com/docs/v24/hilla/guides/production/troubleshooting.md): Guidance if you have problems taking Hilla applications to production. - [React for Java Developers](https://vaadin.com/docs/v24/hilla/guides/from-java-to-react.md): How React differs from Java, and how it's used in Vaadin. - [Full-Stack Signals](https://vaadin.com/docs/v24/hilla/guides/full-stack-signals.md): A full-stack signal is designed to share and synchronize states between the server and clients in real time. - [Internationalization (I18n)](https://vaadin.com/docs/v24/hilla/guides/i18n.md): Enable multilingual support in Hilla applications by configuring and using the Hilla i18n system. - [Flow Integration](https://vaadin.com/docs/v24/hilla/guides/flow-integration.md): Integrating Flow components in Hilla views. - [Upgrading Guide](https://vaadin.com/docs/v24/hilla/guides/upgrading.md): Step-by-step guide to upgrading your Hilla applications to the latest version. ## Reference - [Reference](https://vaadin.com/docs/v24/hilla/reference.md): Access comprehensive reference documentation for the Hilla framework. Learn about its components, features, and API for full-stack development. - [Configuration](https://vaadin.com/docs/v24/hilla/reference/configuration.md): Customizing a Hilla application configuration for both the development environment and for execution. - [Gradle](https://vaadin.com/docs/v24/hilla/reference/gradle.md): Building and running a Hilla application using Gradle. - [React Router](https://vaadin.com/docs/v24/hilla/reference/react-router.md): Customizing routing beyond the basics - [Type Conversion](https://vaadin.com/docs/v24/hilla/reference/type-conversion.md): Understanding conversion of data types from Java to TypeScript and vice versa. - [Type Nullability](https://vaadin.com/docs/v24/hilla/reference/type-nullability.md): Learn about type nullability in Hilla and how to handle it effectively in your applications. - [TypeScript Client](https://vaadin.com/docs/v24/hilla/reference/typescript-client.md): Understanding the Hilla TypeScript client library, the default TypeScript client, and generated client modules. - [TypeScript Generator](https://vaadin.com/docs/v24/hilla/reference/endpoint-generator.md): The TypeScript generator produces TypeScript files that map to Java services annotated with @BrowserCallable or @Endpoint. ## Lit - [Lit](https://vaadin.com/docs/v24/hilla/lit.md): Documentation how to use the Hilla framework together with Lit. - [Getting Started](https://vaadin.com/docs/v24/hilla/lit/start.md): How to set up your first Hilla project, and read through tutorials that guide you through building your first Hilla application step by step. - [Quick Start](https://vaadin.com/docs/v24/hilla/lit/start/quick.md): How to create and run a Hilla Lit application. - [Basics Tutorial](https://vaadin.com/docs/v24/hilla/lit/start/basics.md): The basics of Hilla application development -- Creating a project, defining and accessing Endpoints, and building views. - [FAQ](https://vaadin.com/docs/v24/hilla/lit/start/faq.md): Frequently asked questions about the Hilla framework. - [Guides](https://vaadin.com/docs/v24/hilla/lit/guides.md): Explore a range of guides to enhance your development experience with Vaadin's Hilla. - [Application Architecture](https://vaadin.com/docs/v24/hilla/lit/guides/architecture.md): An overview of the structure and architecture of a Hilla application. - [Routing & Navigation](https://vaadin.com/docs/v24/hilla/lit/guides/routing.md): Learn all about defining routes and navigating between views. - [Endpoints](https://vaadin.com/docs/v24/hilla/lit/guides/endpoints.md): A server-side Java endpoint is a backend method that's exposed so to call it from client-side TypeScript code. - [Reactive Endpoints](https://vaadin.com/docs/v24/hilla/lit/guides/reactive-endpoints.md): Reactive endpoints allow you to stream data to the client without the traditional HTTP request-response pattern. - [Event Handling](https://vaadin.com/docs/v24/hilla/lit/guides/event-handling.md): Handling events in a Hilla application. Declarative event listeners and event objects in TypeScript. - [State Management](https://vaadin.com/docs/v24/hilla/lit/guides/state-management.md): Managing application state with the MobX state management library in Hilla. - [Client Middleware](https://vaadin.com/docs/v24/hilla/lit/guides/client-middleware.md): In Hilla, middleware intercepts the request and response for every call, so it's able to process requests and their responses. - [Forms](https://vaadin.com/docs/v24/hilla/lit/guides/forms.md): Master form creation with Hilla, including validation, data binding, and customization. Build responsive forms for your full-stack web applications. - [Binding Data to Forms](https://vaadin.com/docs/v24/hilla/lit/guides/forms/binder.md): Binding data to UI components in forms. - [Loading & Saving Form Data](https://vaadin.com/docs/v24/hilla/lit/guides/forms/binder-load.md): Loading data to Binder and submitting it for saving. - [Validating User Input](https://vaadin.com/docs/v24/hilla/lit/guides/forms/binder-validation.md): Validating user input using Bean Validation together with the Binder API. - [Reacting to Form State Changes](https://vaadin.com/docs/v24/hilla/lit/guides/forms/form-status-tracking.md): Recognizing different states of fields and forms, and reacting accordingly. - [Binding Arrays](https://vaadin.com/docs/v24/hilla/lit/guides/forms/binding-arrays.md): Working with arrays using form binding API. - [Binding Data to Input Fields](https://vaadin.com/docs/v24/hilla/lit/guides/forms/vaadin-components.md): Implementing data binding, type mapping and error messages when binding data with Hilla components. - [Binding Data to Custom Components](https://vaadin.com/docs/v24/hilla/lit/guides/forms/web-component-field-strategy.md): How to create a form with a custom web component. - [Image Fields in Forms](https://vaadin.com/docs/v24/hilla/lit/guides/forms/form-images.md): Allowing images to be uploaded in forms. - [Form Binding](https://vaadin.com/docs/v24/hilla/lit/guides/forms/reference.md): Understanding form binding. - [Client-Side Data Caching](https://vaadin.com/docs/v24/hilla/lit/guides/client-caching.md): Understanding when and how to cache client-side data. - [Styling](https://vaadin.com/docs/v24/hilla/lit/guides/styling.md): How to add CSS styles to views and Lit components in Hilla applications. - [Security](https://vaadin.com/docs/v24/hilla/lit/guides/security.md): The best practices for securing applications, configuring security, authentication and role-based access control for views. - [Introduction](https://vaadin.com/docs/v24/hilla/lit/guides/security/intro.md): An introduction to the Hilla security architecture and how it works in practice. - [Controlling Endpoint Access](https://vaadin.com/docs/v24/hilla/lit/guides/security/configuring.md): How to specify the role-based access control rules as annotations for the endpoint class or its individual methods. - [Authentication with Spring Security](https://vaadin.com/docs/v24/hilla/lit/guides/security/spring-login.md): Configuring authentication with Spring Security. - [Accessing Authentication Data](https://vaadin.com/docs/v24/hilla/lit/guides/security/authentication.md): How to access authentication data on the server side, and how to transfer the data to the client. - [Role-Based Access Control](https://vaadin.com/docs/v24/hilla/lit/guides/security/role-based-access.md): How to restrict access for selected Hilla views based on roles defined for the logged-in user. - [Stateless Authentication](https://vaadin.com/docs/v24/hilla/lit/guides/security/spring-stateless.md): Using stateless authentication to persist authentication on the client side between requests. - [Offline Authentication](https://vaadin.com/docs/v24/hilla/lit/guides/security/offline-auth.md): Storing the authentication data in the browser for offline applications. - [Session Expiration](https://vaadin.com/docs/v24/hilla/lit/guides/security/session-expiration.md): How to detect session expiration, for example to show a login view to the user. - [Common Vulnerabilities](https://vaadin.com/docs/v24/hilla/lit/guides/security/vulnerabilities.md): Dealing with vulnerabilities, such as SQL injection, cross-site request forgery, and Java serialization. - [Best Practices](https://vaadin.com/docs/v24/hilla/lit/guides/security/best-practices.md): Best practices in authentication and authorization, data validation, and SSL and HTTPS. - [Deploying to Production](https://vaadin.com/docs/v24/hilla/lit/guides/production.md): Discover best practices for deploying Hilla applications in production environments. - [Production Build](https://vaadin.com/docs/v24/hilla/lit/guides/production/production-build.md): Creating a production-ready package of an application, which can then be deployed. - [Servlet Container](https://vaadin.com/docs/v24/hilla/lit/guides/production/servlet-containers.md): Deploying a Hilla application to a traditional servlet container, such as Tomcat or Jetty. - [Spring Boot](https://vaadin.com/docs/v24/hilla/lit/guides/production/spring-boot.md): Deploying Spring Boot-based applications. - [Native Image Compilation](https://vaadin.com/docs/v24/hilla/lit/guides/production/native.md): Learn how to compile a Hilla application into a native image using GraalVM. - [Cloud Providers](https://vaadin.com/docs/v24/hilla/lit/guides/production/cloud-providers.md): Learn how to deploy your application to third-party cloud hosting providers. - [Amazon Web Services](https://vaadin.com/docs/v24/hilla/lit/guides/production/cloud-providers/aws.md): How to deploy a Hilla application to Amazon Web Services (AWS). - [Azure](https://vaadin.com/docs/v24/hilla/lit/guides/production/cloud-providers/azure.md): How to deploy your Hilla application to Microsoft's Azure cloud. - [Google Cloud](https://vaadin.com/docs/v24/hilla/lit/guides/production/cloud-providers/google.md): How to deploy your Hilla application to Google Cloud. - [Heroku](https://vaadin.com/docs/v24/hilla/lit/guides/production/cloud-providers/heroku.md): How to deploy your Hilla application to Heroku. - [Troubleshooting](https://vaadin.com/docs/v24/hilla/lit/guides/production/troubleshooting.md): Guidance for when having problems taking Hilla applications to production. - [Upgrading Early Hilla Versions](https://vaadin.com/docs/v24/hilla/lit/guides/upgrading.md): The steps to upgrade from Hilla 1.x or 2.x to the latest version. - [Components](https://vaadin.com/docs/v24/hilla/lit/components.md): Hilla helps you build professional-looking UIs faster by including more than 45 UI components, provided by Vaadin, ranging from text fields to data grids. - [Using Components](https://vaadin.com/docs/v24/hilla/lit/components/using-vaadin-components.md): How to use Vaadin components in your Hilla views. - [Creating Components](https://vaadin.com/docs/v24/hilla/lit/components/create.md): How to create reactive web components with Lit. - [Integrating Components](https://vaadin.com/docs/v24/hilla/lit/components/3rd-party.md): How to use any third-party component from npm in your Hilla applications. - [Type Definitions](https://vaadin.com/docs/v24/hilla/lit/components/type-definitions.md): Understanding how to use Vaadin components' TypeScript definitions with web components in TypeScript views. - [Reference](https://vaadin.com/docs/v24/hilla/lit/reference.md): Access documentation for using Hilla framework with Lit. Learn about its components, features, and API for full-stack development. - [Configuration](https://vaadin.com/docs/v24/hilla/lit/reference/configuration.md): Customizing the configuration of a Hilla application for both a development environment and for execution. - [Connection Indicator](https://vaadin.com/docs/v24/hilla/lit/reference/connection-indicator.md): The connection indicator informs the user of the server connection status, and indicates loading progress if network requests take some time. Its duration and style are configurable. - [Gradle](https://vaadin.com/docs/v24/hilla/lit/reference/gradle.md): Building and running Hilla applications with Gradle. - [Type Conversion](https://vaadin.com/docs/v24/hilla/lit/reference/type-conversion.md): Understanding conversion of data types from Java to TypeScript and vice versa. - [Type Nullability](https://vaadin.com/docs/v24/hilla/lit/reference/type-nullability.md): Understanding optional nullable types. - [TypeScript Client](https://vaadin.com/docs/v24/hilla/lit/reference/typescript-client.md): Understanding the Hilla TypeScript client library, the default TypeScript client, and generated client modules. - [TypeScript Generator](https://vaadin.com/docs/v24/hilla/lit/reference/endpoint-generator.md): The TypeScript generator produces TypeScript files that map to Java services annotated with @BrowserCallable or @Endpoint.