# 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/v25/llms.txt) ## Overview - [Hilla Reference](https://vaadin.com/docs/v25/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/v25/hilla/faq.md): Frequently asked questions about the Hilla framework. ## Guides - [Guides](https://vaadin.com/docs/v25/hilla/guides.md): Explore a range of guides to enhance your development experience with Vaadin's Hilla. - [Browser-Callable Services](https://vaadin.com/docs/v25/hilla/guides/browser-callable-services.md): A browser-callable service is a server-side Java class whose public methods are exposed for calling from client-side TypeScript code. - [Reactive Services](https://vaadin.com/docs/v25/hilla/guides/reactive-services.md): Reactive services allow you to stream data to the client without the traditional HTTP request-response pattern. - [Client Middleware](https://vaadin.com/docs/v25/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/v25/hilla/guides/routing.md): How to implement routing in Hilla React applications. - [Event Handling](https://vaadin.com/docs/v25/hilla/guides/event-handling.md): Handling events in a Hilla application. Event listener props and event objects in React views. - [Data Grids](https://vaadin.com/docs/v25/hilla/guides/data-grids.md): Quickly create data grids using the Auto Grid feature. - [Forms](https://vaadin.com/docs/v25/hilla/guides/forms.md): Build and manage forms in Vaadin Hilla applications with this detailed guide. - [Binding Data to Forms](https://vaadin.com/docs/v25/hilla/guides/forms/binder.md): Binding data to UI components in TypeScript forms. - [Loading & Saving Form Data](https://vaadin.com/docs/v25/hilla/guides/forms/binder-load.md): Loading data to Binder and submitting it for saving. - [Validating User Input](https://vaadin.com/docs/v25/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/v25/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/v25/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/v25/hilla/guides/forms/binding-arrays.md): Working with arrays using form binding API. - [Image Fields in Forms](https://vaadin.com/docs/v25/hilla/guides/forms/form-images.md): Allowing images to be uploaded in forms. - [Form Binding](https://vaadin.com/docs/v25/hilla/guides/forms/reference.md): Understanding form binding. - [Uploading & Downloading](https://vaadin.com/docs/v25/hilla/guides/uploads-downloads.md): How to implement file uploading and downloading in Hilla React applications. - [Client-Side Data Caching](https://vaadin.com/docs/v25/hilla/guides/client-caching.md): Understanding when and how to cache client-side data. - [Styling](https://vaadin.com/docs/v25/hilla/guides/styling.md): How to add CSS styles to views and React components in Hilla applications. - [Security](https://vaadin.com/docs/v25/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/v25/hilla/guides/security/intro.md): An introduction to the Hilla security architecture and how it works in practice. - [Controlling Service Access](https://vaadin.com/docs/v25/hilla/guides/security/configuring.md): How to specify the role-based access control rules as annotations for the browser-callable service class or its individual methods. - [Authentication with Spring Security](https://vaadin.com/docs/v25/hilla/guides/security/spring-login.md): How to configure authentication with Spring Security. - [Accessing Auth Data](https://vaadin.com/docs/v25/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/v25/hilla/guides/security/spring-stateless.md): Using stateless authentication to persist authentication on the client side between requests. - [Offline Authentication](https://vaadin.com/docs/v25/hilla/guides/security/offline-auth.md): Storing the authentication data in the browser for offline applications. - [Session Expiration](https://vaadin.com/docs/v25/hilla/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/v25/hilla/guides/security/vulnerabilities.md): Dealing with vulnerabilities, such as SQL injection, cross-site request forgery, and Java serialization. - [Best Practices](https://vaadin.com/docs/v25/hilla/guides/security/best-practices.md): Best practices in authentication and authorization, data validation, and SSL and HTTPS. - [Testing](https://vaadin.com/docs/v25/hilla/guides/testing.md): How to test views in Hilla applications. - [React for Java Developers](https://vaadin.com/docs/v25/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/v25/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/v25/hilla/guides/i18n.md): Enable multilingual support in Hilla applications by configuring and using the Hilla i18n system. - [Flow Integration](https://vaadin.com/docs/v25/hilla/guides/flow-integration.md): Integrating Flow components in Hilla views. ## Reference - [Reference](https://vaadin.com/docs/v25/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/v25/hilla/reference/configuration.md): Customizing a Hilla application configuration for both the development environment and for execution. - [Connection Indicator](https://vaadin.com/docs/v25/hilla/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/v25/hilla/reference/gradle.md): Building and running a Hilla application using Gradle. - [React Router](https://vaadin.com/docs/v25/hilla/reference/react-router.md): Customizing routing beyond the basics - [Type Conversion](https://vaadin.com/docs/v25/hilla/reference/type-conversion.md): Understanding conversion of data types from Java to TypeScript and vice versa. - [Type Nullability](https://vaadin.com/docs/v25/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/v25/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/v25/hilla/reference/typescript-generator.md): The TypeScript generator produces TypeScript files that map to Java services annotated with @BrowserCallable or @Endpoint. ## Lit (deprecated) - [Lit (deprecated)](https://vaadin.com/docs/v25/hilla/lit.md): Documentation how to use the Hilla framework together with Lit. - [Guides](https://vaadin.com/docs/v25/hilla/lit/guides.md): Explore a range of guides to enhance your development experience with Vaadin's Hilla. - [Application Architecture](https://vaadin.com/docs/v25/hilla/lit/guides/architecture.md): An overview of the structure and architecture of a Hilla application. - [Routing & Navigation](https://vaadin.com/docs/v25/hilla/lit/guides/routing.md): Learn all about defining routes and navigating between views. - [Reactive Services](https://vaadin.com/docs/v25/hilla/lit/guides/reactive-services.md): Reactive services allow you to stream data to the client without the traditional HTTP request-response pattern. - [State Management](https://vaadin.com/docs/v25/hilla/lit/guides/state-management.md): Managing application state with the MobX state management library in Hilla. - [Forms](https://vaadin.com/docs/v25/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/v25/hilla/lit/guides/forms/binder.md): Binding data to UI components in forms. - [Loading & Saving Form Data](https://vaadin.com/docs/v25/hilla/lit/guides/forms/binder-load.md): Loading data to Binder and submitting it for saving. - [Validating User Input](https://vaadin.com/docs/v25/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/v25/hilla/lit/guides/forms/form-status-tracking.md): Recognizing different states of fields and forms, and reacting accordingly. - [Binding Arrays](https://vaadin.com/docs/v25/hilla/lit/guides/forms/binding-arrays.md): Working with arrays using form binding API. - [Binding Data to Input Fields](https://vaadin.com/docs/v25/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/v25/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/v25/hilla/lit/guides/forms/form-images.md): Allowing images to be uploaded in forms. - [Form Binding](https://vaadin.com/docs/v25/hilla/lit/guides/forms/reference.md): Understanding form binding. - [Styling](https://vaadin.com/docs/v25/hilla/lit/guides/styling.md): How to add CSS styles to views and Lit components in Hilla applications. - [Security](https://vaadin.com/docs/v25/hilla/lit/guides/security.md): The best practices for securing applications, configuring security, authentication and role-based access control for views. - [Authentication with Spring Security](https://vaadin.com/docs/v25/hilla/lit/guides/security/spring-login.md): Configuring authentication with Spring Security. - [Role-Based Access Control](https://vaadin.com/docs/v25/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. - [Session Expiration](https://vaadin.com/docs/v25/hilla/lit/guides/security/session-expiration.md): How to detect session expiration, for example to show a login view to the user. - [Components](https://vaadin.com/docs/v25/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/v25/hilla/lit/components/using-vaadin-components.md): How to use Vaadin components in your Hilla views. - [Creating Components](https://vaadin.com/docs/v25/hilla/lit/components/create.md): How to create reactive web components with Lit. - [Integrating Components](https://vaadin.com/docs/v25/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/v25/hilla/lit/components/type-definitions.md): Understanding how to use Vaadin components' TypeScript definitions with web components in TypeScript views.