# Advanced Topics > A collection of miscellaneous important topics and features that you may need in Vaadin applications. Parent index: [Vaadin Docs](https://vaadin.com/docs/v23/llms.txt) ## Overview - [Advanced Topics](https://vaadin.com/docs/v23/advanced.md): A collection of miscellaneous important topics and features that you may need in Vaadin applications. ## Application Lifecycle - [Application Lifecycle](https://vaadin.com/docs/v23/advanced/application-lifecycle.md): The more technical details of application deployment, user sessions, and the UI instance lifecycle. ## Localization - [Localization](https://vaadin.com/docs/v23/advanced/i18n-localization.md): Implementing localization and translation strings using I18NProvider. ## Modifying the Bootstrap Page at Runtime - [Modifying the Bootstrap Page at Runtime](https://vaadin.com/docs/v23/advanced/modifying-the-bootstrap-page.md): How to customize the application shell, or bootstrap page, to improve page loading speed ## Upgrading from Vaadin 7 or 8 using Classic Components - [Upgrading from Vaadin 7 or 8 using Classic Components](https://vaadin.com/docs/v23/advanced/classic-components.md) ## The Loading Indicator - [The Loading Indicator](https://vaadin.com/docs/v23/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 - [Modifying how dependencies are loaded with DependencyFilter](https://vaadin.com/docs/v23/advanced/dependency-filter.md): Using the DependencyFilter interface to control which dependencies are loaded. ## Service Init Listener - [Service Init Listener](https://vaadin.com/docs/v23/advanced/service-init-listener.md): Using VaadinServiceInitListener to configure RequestHandler, IndexHtmlRequestListener and DependencyFiler objects, and to dynamically register routes during start-up. ## Dynamic Content - [Dynamic Content](https://vaadin.com/docs/v23/advanced/dynamic-content.md): Generating content dynamically based on the application state. ## History API - [History API](https://vaadin.com/docs/v23/advanced/history-api.md): Using the History API to access and modify the browser history from the server side. ## StreamReceiver - [StreamReceiver](https://vaadin.com/docs/v23/advanced/stream-resources.md): Using StreamReceiver to receive an incoming data stream. ## Session and UI Listeners - [Session and UI Listeners](https://vaadin.com/docs/v23/advanced/session-and-ui-init-listener.md): Listening for session and UI instantiation with SessionInitListener and UIInitListener. ## Custom Error Handling - [Custom Error Handling](https://vaadin.com/docs/v23/advanced/custom-error-handler.md): Customizing the error views related to navigation between routes. ## Customizing System Messages - [Customizing System Messages](https://vaadin.com/docs/v23/advanced/customize-system-messages.md): Configuring messages for application invalid state ## Preserving the State on Refresh - [Preserving the State on Refresh](https://vaadin.com/docs/v23/advanced/preserving-state-on-refresh.md): Using the @PreserveOnRefresh annotation to keep the state of a view when it's refreshed. ## Servlet-Container Authentication - [Servlet-Container Authentication](https://vaadin.com/docs/v23/advanced/servlet-container-authentication.md): Configuring session-based and servlet container authentication. ## Handling Long-Running Tasks - [Handling Long-Running Tasks](https://vaadin.com/docs/v23/advanced/long-running-tasks.md): Learn how to handle long-running tasks in Vaadin applications. ## Browser Access - [Browser Access](https://vaadin.com/docs/v23/advanced/browser-access.md): Accessing the browser page using the Page object. ## Loading Resources - [Loading Resources](https://vaadin.com/docs/v23/advanced/loading-resources.md): How resources are stored in a project, and how to access them in an application. ## CSS Loading Order - [CSS Loading Order](https://vaadin.com/docs/v23/advanced/css-loading-order.md): Understanding CSS loading order. ## Server Push - [Server Push](https://vaadin.com/docs/v23/advanced/server-push.md): Server push allows you to update the UI from the server, without the user explicitly requesting updates, for example, to send a new chat message to all participants with no delay. ## Server-Side Modality - [Server-Side Modality](https://vaadin.com/docs/v23/advanced/server-side-modality.md): How to prevent interactions on the server side. ## Custom Instantiator - [Custom Instantiator](https://vaadin.com/docs/v23/advanced/custom-instantiators.md): Creating a custom Instantiator implementation.