> Markdown version of [Advanced Topics](https://vaadin.com/docs/v24/flow/advanced). Section index: [llms.txt](https://vaadin.com/docs/v24/flow/llms.txt)

# Advanced Topics

- [Application Lifecycle](https://vaadin.com/docs/v24/flow/advanced/application-lifecycle.md): The more technical details of application deployment, user sessions, and the UI instance lifecycle.
- [Localization](https://vaadin.com/docs/v24/flow/advanced/i18n-localization.md): Implementing localization and translation strings using I18NProvider.
- [Modifying Bootstrap Page at Runtime](https://vaadin.com/docs/v24/flow/advanced/modifying-the-bootstrap-page.md): Customizing an application shell (a.k.a., bootstrap page) to improve page loading speed.
- [Classic Components](https://vaadin.com/docs/v24/flow/advanced/classic-components.md): Build on the latest Vaadin version with familiar component APIs.
- [The Loading Indicator](https://vaadin.com/docs/v24/flow/advanced/loading-indicator.md): Using a loading indicator to notify the user of progress in loading the page.
- [Modifying how dependencies are loaded with DependencyFilter](https://vaadin.com/docs/v24/flow/advanced/dependency-filter.md): Using the DependencyFilter interface to control which dependencies are loaded.
- [Service Init Listener](https://vaadin.com/docs/v24/flow/advanced/service-init-listener.md): Using VaadinServiceInitListener to configure RequestHandler, IndexHtmlRequestListener and DependencyFiler objects, and to dynamically register routes during start-up.
- [Downloads](https://vaadin.com/docs/v24/flow/advanced/downloads.md): Download a file or arbitrary content from server to browser.
- [History API](https://vaadin.com/docs/v24/flow/advanced/history-api.md): Using the History API to access and modify the browser history from the server side.
- [Manage UI State With Signals](https://vaadin.com/docs/v24/flow/advanced/signals.md): Using the signals in Flow to manage UI state reactively in Vaadin applications.
- [Uploads](https://vaadin.com/docs/v24/flow/advanced/upload-resources.md): Using UploadHandler to receive an incoming data stream.
- [Session & UI Listeners](https://vaadin.com/docs/v24/flow/advanced/session-and-ui-init-listener.md): Listening for session and UI instantiation with SessionInitListener and UIInitListener.
- [Custom Error Handling](https://vaadin.com/docs/v24/flow/advanced/custom-error-handler.md): Customizing error views related to navigation between routes.
- [Customizing System Messages](https://vaadin.com/docs/v24/flow/advanced/customize-system-messages.md): Configuring messages for application invalid state.
- [Preserving the State on Refresh](https://vaadin.com/docs/v24/flow/advanced/preserving-state-on-refresh.md): Using the @PreserveOnRefresh annotation to keep the state of a view when it's refreshed.
- [Servlet-Container Authentication](https://vaadin.com/docs/v24/flow/advanced/servlet-container-authentication.md): Configuring session-based and servlet container authentication.
- [Handling Long-Running Tasks](https://vaadin.com/docs/v24/flow/advanced/long-running-tasks.md): How to handle long-running tasks in Vaadin applications.
- [Vaadin Executor](https://vaadin.com/docs/v24/flow/advanced/service-executor.md): Configuring and using Vaadin Executor to run background tasks.
- [Browser Access](https://vaadin.com/docs/v24/flow/advanced/browser-access.md): Accessing the browser page using the Page object.
- [Loading Resources](https://vaadin.com/docs/v24/flow/advanced/loading-resources.md): How resources are stored in a project, and how to access them in an application.
- [CSS Loading Order](https://vaadin.com/docs/v24/flow/advanced/css-loading-order.md): Understanding CSS loading order.
- [Server Push](https://vaadin.com/docs/v24/flow/advanced/server-push.md): Server push allows you to update the UI from the server for the users without them requesting updates.
- [Server-Side Modality](https://vaadin.com/docs/v24/flow/advanced/server-side-modality.md): How to prevent interactions on the server side.
- [Custom Instantiator](https://vaadin.com/docs/v24/flow/advanced/custom-instantiators.md): Creating a custom Instantiator implementation.
- [Web Storage API](https://vaadin.com/docs/v24/flow/advanced/web-storage-api.md): Using Web Storage API to access browser storage from the server.
- [Server to Client Communication](https://vaadin.com/docs/v24/flow/advanced/server-client-communication.md): Technical details of how server to client communications work.
- [Preparing for V8 Upgrade Automation](https://vaadin.com/docs/v24/flow/advanced/using-minifinder.md): How to use the Minifinder for Eclipse to determine the potential success of a V8 Upgrade Automation service.
