Vaadin Libraries
Vaadin Framework comes as a set of library JARs, of which some are optional or alternative ones, depending on whether you are developing server-side or client-side applications, whether you use add-on components, or use CSS or Sass themes.
vaadin-server-8.x.x.jar
The main library for developing server-side Vaadin applications, as described in “Writing a Server-Side Web Application”. It requires the vaadin-shared and the vaadin-themes libraries. You can use the pre-built vaadin-client-compiled for server-side development, unless you need add-on components or custom widgets.
vaadin-themes-8.x.x.jar
Vaadin Framework built-in themes both as SCSS source files and precompiled CSS files. The library is required both for basic use with CSS themes and for compiling custom Sass themes.
vaadin-push-8.x.x.jar
The implementation of server push for Vaadin Framework. This is needed for web applications which use server push (e.g. using the @Push annotation in a Servlet class).
vaadin-shared-8.x.x.jar
A shared library for server-side and client-side development. It is always needed.
vaadin-client-compiled-8.x.x.jar
A pre-compiled Vaadin Client-Side Engine (widget set) that includes all the basic built-in widgets in Vaadin. This library is not needed if you compile the application widget set with the Vaadin Client Compiler.
vaadin-client-8.x.x.jar
The client-side Vaadin Framework, including the basic GWT API and Vaadin-specific widgets and other additions. It is required when using the vaadin-client-compiler to compile client-side modules. It is not needed if you just use the server-side framework with the pre-compiled Client-Side Engine. You should not deploy it with a web application.
vaadin-client-compiler-8.x.x.jar
The Vaadin Client Compiler is a Java-to-JavaScript compiler that allows building client-side modules, such as the Client-Side Engine (widget set) required for server-side applications. The compiler is needed, for example, for compiling add-on components to the application widget set, as described in “Using Vaadin Add-ons”.
For detailed information regarding the compiler, see “Compiling a Client-Side Module”. Note that you should not deploy this library with a web application.
vaadin-compatibility-*-8.x.x.jar
The Vaadin Framework 7 compatibility packages contain the components and themes that are present in framework version 7, but not in version 8. These packages exist for making it easier to migrate from version 7 to 8. There is a compatibility package for everything except vaadin-client-compiler.
Some of the libraries depend on each other, for instance vaadin-shared is included as a dependency of vaadin-server.
The different ways to install the libraries are described in the subsequent sections.
Note that the vaadin-client-compiler and vaadin-client JARs should not be deployed with the web application. The Maven scope provided can be used. Some other libraries, such as vaadin-sass-compiler, are not needed in production deployment.