Deploying to a production server involves compiling and packaging the application to be suitable and optimized for the server.
Although you may have launched your server directly from your IDE during development, you need to deploy the application as a
WAR file (Java Servlet) or
JAR file that includes your application server (Spring Boot and other embedded servers) for production.
By default, Vaadin applications are set to run in development mode. This requires a bit more memory and CPU power but enables easier debugging. When deploying your application to your users, you want to switch to production mode instead.
The main difference between development and production mode is that, in production mode, the client resources can be optimized and minified to reduce the load on the network and browser even further. Furthermore, debug information (e.g., about the available routes) that is present in development mode is removed in production mode to ensure that no sensitive information leaks to the client.
- Production Build
- Create an optimized build of applications for production deployment.
- Servlet Container
- Deploy your application to traditional servlet containers, such as Tomcat, Jetty or any Java/Jakarta EE server.
- Spring Boot
- Deploying a Spring Boot based application.
- Native Image Compilation
- Learn how to compile a Vaadin Flow application into a native image using GraalVM.
- Cloud Providers
- Learn how to deploy your application to third-party cloud hosting providers.
- Docker Deployment
- Deploy your Vaadin application using Docker
- Distributed Deployment Architecture
- Application deployment on multiple servers.
- Guidance if you have problems taking Vaadin applications to production.