- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Vaadin Framework @version@</title>
- <link rel="stylesheet" type="text/css" href="css/styles.css" />
-
- <style type="text/css">
- .nested-list ol {
- counter-reset: item
- }
-
- .nested-list li {
- display: block
- }
-
- .nested-list li:before {
- content: counters(item, ".") ". ";
- counter-increment: item
- }
- </style>
- </head>
-
- <body>
- <div id="header">
- <h1>Vaadin – thinking of U and I</h1>
- <div id="version">
- <strong>Version @version@</strong>
- </div>
- </div>
- <!-- /header -->
-
- <div id="content">
- <p>Version @version@ built on @builddate@.</p>
-
- <h2 id="tableofcontents">Release Notes for Vaadin Framework
- @version@</h2>
- <ul>
- <li><a href="#overview">Overview of Vaadin Framework
- @version@ release</a></li>
- <li><a href="#changelog">Change Log for Vaadin Framework
- @version@</a></li>
- <li><a href="#enhancements">Enhancements in Vaadin Framework
- @version-minor@</a></li>
- <li><a href="#incompatible">Incompatible or Behavior-altering Changes in
- @version-minor@</a></li>
- <li><a href="#knownissues">Known Issues and Limitations</a></li>
- <li><a href="#starting">Getting started with Vaadin Framework</a></li>
- <li><a href="#package">Package Contents</a></li>
- <li><a href="#migrating">Migrating from Vaadin 7.7</a></li>
- <li><a href="#dependencies">Vaadin Framework @version@
- dependencies</a></li>
- <li><a href="#supportedversions">Supported
- Technologies</a></li>
- <li><a href="#vaadinontheweb">Vaadin Framework on the Web</a></li>
- </ul>
-
- <h2 id="overview">Overview of Vaadin Framework @version@ Release</h2>
-
- <p>
- Vaadin Framework @version@ is a
- <!-- feature release that includes -->
- pre-release for evaluating
- a number of new features and bug fixes, as listed in the <a
- href="#enhancements">list of enhancements</a> and <a
- href="#changelog">change log</a> below.
- This beta release contains breaking changes based on your feedback on the previous beta version,
- and we may change things on future beta versions based on your feedback if necessary.
- </p>
- <p> Special note for add-on developers: please test your add-on against
- Framework 8.0 and update your add-on as needed.
-
- </p>
-
- <!-- ================================================================ -->
- <h3 id="changelog">Change Log for Vaadin Framework @version@</h3>
- <!-- @release-notes-changelog@ -->
- <p>
- You can find the full list of all changes <a
- href="https://github.com/vaadin/framework/releases/tag/@version@">in
- GitHub</a>.
- </p>
-
- <h2 id="enhancements">Enhancements in Vaadin Framework @version-minor@</h2>
-
- <p>Vaadin Framework @version-minor@ includes many major and minor
- enhancements. Below is a list of the most notable changes:</p>
-
- <ul>
- <li>New, simpler data binding API</li>
- <li>Vaadin Framework is now based on Java 8</li>
- <li>Vaadin Framework is using GWT 2.8, allowing client side code to use Java 8</li>
- <li>Other Framework dependencies including Atmosphere have been upgraded</li>
- <li>Easier to integrate web components using HTML imports (<tt>@HtmlImport</tt>) and custom tag name support for <tt>AbstractJavaScriptComponent</tt></li>
- </ul>
-
- <p>
- The new data binding API replaces the old <tt>Container</tt>, <tt>Item</tt>, <tt>Property</tt>, <tt>FieldGroup</tt>,
- <tt>Validator</tt>, <tt>Converter</tt> and related classes with new mechanisms.
- Also components using those are replaced with updated implementations using the
- new API, and the old data binding API and components have been moved to separate
- compatibility packages for ease of migration.
- For more details, see <a href="#incompatible">the list of incompatible changes</a> and <a href="#migrating">how to migrate
- to Vaadin Framework 8</a>.
- </p>
-
- <p>
- For enhancements introduced in Vaadin Framework 7.7, see the <a
- href="http://vaadin.com/download/release/7.7/7.7.0/release-notes.html">Release
- Notes for Vaadin Framework 7.7.0</a>.
- </p>
-
- <h2 id="incompatible">Incompatible or Behavior-altering Changes in @version@</h2>
-
- <ul><h4>Compatibility and requirements</h4>
- <li>Vaadin Framework now requires Java 8 or later and Servlet 3.0 or later</li>
- <li>Support for older browsers (including Microsoft IE 8-10) and Windows Phone has been dropped</li>
- <li>Support for Google App Engine has been dropped</li>
- <li><a href="#supportedservers">Supported servers</a></li>
- </ul>
- <ul><h4>New Data Binding API related changes</h4>
- <li>Components using <tt>Property</tt>, <tt>Item</tt> or <tt>Container</tt> API have been reimplemented for the new API, except <tt>Tree</tt>, <tt>Table</tt>, <tt>TreeTable</tt> and <tt>Calendar</tt></li>
- <li>Framework 7 versions of the components available in the v7 compatibility package for easier migration, <a href="#legacycomponents">see list of legacy components</a></li>
- <li><tt>Binder</tt> is the replacement of <tt>FieldGroup</tt> and <tt>BeanFieldGroup</tt></li>
- <li>Converters and Validators have been moved from Components to <tt>Binder</tt></li>
- <li><tt>DataProvider</tt> is the replacement of <tt>Container</tt></li>
- <ul>
- <li><tt>ListDataProvider</tt> is the default in-memory data provider replacing <tt>IndexedContainer</tt>, <tt>BeanItemContainer</tt>, and <tt>BeanContainer</tt></li>
- <li><tt>BackEndDataProvider</tt> is the basis for a lazy data provider</li>
- <li><tt>SQLContainer</tt> is deprecated in v7 compatibility package and not directly replaced</li>
- <li><tt>HierarchicalContainer</tt> is deprecated in v7 compatibility package and a replacement is planned for 8.1</li>
- </ul>
- <li>All components that list data are based on <tt>AbstractListing</tt></li>
- <li>All <tt>AbstractListing</tt> components have been typed with the type of items they are listing</li>
- <li><tt>HasValue</tt> replaces the <tt>Field</tt> interface as the basis for all field components</li>
- <li>Field components based on <tt>HasValue</tt> may or may not accept null values, depending on each component. There is no <tt>setNullRepresentation</tt> anymore</li>
- <li><tt>AbstractField::setRequired(boolean)</tt> has been replaced with:
- <ul>
- <li><tt>HasValue::setRequiredIndicatorVisible(boolean)</tt> which only makes the <tt>*</tt> required indicator visible for the component</li>
- <li><tt>BindingBuilder::setRequired(String)</tt> adds a "not-empty" validator when used in <tt>Binder</tt> and makes the <tt>*</tt> required indicator visible</li>
- </ul>
- <li><tt>setItemCaptionGenerator</tt> in <tt>AbstractListing</tt> replaces <tt>setItemCaption</tt>, <tt>setItemCaptionMode</tt> and <tt>setItemCaptionPropertyId</tt> from <tt>AbstractSelect</tt></li>
- <li><tt>setItemIconGenerator</tt> in <tt>AbstractListing</tt> replaces <tt>setItemIcon</tt> and <tt>setItemIconPropertyId</tt> from <tt>AbstractSelect</tt></li>
- </ul>
- <ul><h4>General API changes</h4>
- <li>All listeners and most single method interfaces have been marked as <tt>@FunctionalInterface</tt></li>
- <li>All components are now immediate, and <tt>AbstractComponent::setImmediate(boolean immediate)</tt> has been removed.</li>
- <li>Read-only is now a feature for field components and has been moved from <tt>AbstractComponent</tt> to <tt>HasValue</tt> </li>
- <li>Some deprecated/obsolete parts of API have been removed</li>
- <li>All addListener/removeListener methods have been removed - replaced with the Java 8 friendly <tt>addClickListener()</tt>, <tt>addValueChangeListener()</tt> etc. instead</li>
- <li>All new listeners are unregistered using a <tt>Registration</tt> object returned by <tt>addXyzListener()</tt> rather than with a separate <tt>removeXyzListener()</tt></li>
- <li>Input prompts have been replaced with placeholders utilizing the related browser functionality, API is now <tt>setPlaceHolder</tt> instead of <tt>setInputPrompt</tt></li>
- <li>Valo is the default theme, instead of Reindeer</li>
- <li>Valo is the only included theme, all other themes have been moved to the <tt>compatiblity-themes</tt> package and are available as a separate dependency</li>
- <li><tt>SharedState</tt> and the getter methods for it have been added to each component, regardless of whether those are used for anything or not</li>
- <li>The old liferay theme (Liferay 6.0 look) has been removed</li>
- <li>FontAwesome icon constants have been deprecated, and will not be updated. It is replaced with <a href="https://vaadin.com/icons">Vaadin Icons</a> that are included in the Framework</li>
- <li>It is no longer possible to configure a <tt>CurrentInstance</tt> to be automatically inherited into spawned threads.</li>
- </ul>
- <ul><h4>Component specific API changes</h4>
- <li><tt>setDescription(String)</tt> now renders tooltip as inner text by default, instead of HTML. HTML can be still used by using <tt>setDescription(String, ContentMode)</tt></li>
- <li><tt>com.vaadin.shared.ui.label.ContentMode</tt> has been moved into <tt>com.vaadin.shared.ui</tt></li>
- <li><tt>DateField</tt> replaces old <tt>PopupDateField</tt></li>
- <li><tt>DateField</tt> and <tt>InlineDateField</tt> are now based on Java 8 <tt>LocalDate</tt> instead of <tt>Date</tt></li>
- <li><tt>DateTimeField</tt> and <tt>InlineDateTimeField</tt> based on Java 8 <tt>LocalDateTime</tt> are introduced for time selecting time (hour / minute / second) </li>
- <ul><li><tt>DateField</tt> and <tt>InlineDateField</tt> don't support time anymore, meaning the highest resolution for those is <tt>DateResolution.DAY</tt></li>
- <li><tt>Resolution</tt> for <tt>DateField</tt> and <tt>InlineDateField</tt> is replaced by <tt>DateResolution</tt> and <tt>DateTimeResolution</tt></li></ul>
- <li><tt>OptionGroup</tt> has been removed and replaced by:</li>
- <ul>
- <li><tt>CheckBoxGroup</tt> replaces <tt>OptionGroup</tt> in multiselect mode</li>
- <li><tt>RadioButtonGroup</tt> replaces <tt>OptionGroup</tt> in single select mode</li>
- <ul><tt>OptionGroup::setItemEnabled(Object, boolean)</tt> has been replaced by <tt>setItemEnabledProvider</tt> that accepts a predicate</ul>
- </ul>
- <li><tt>TwinColSelect</tt> is always in multiselect mode</li>
- <li><tt>ListSelect</tt> is always in multiselect mode</li>
- <li><tt>Upload</tt> has a separate immediate mode <tt>setImmediateMode(boolean)</tt> replacing <tt>setImmediate</tt> and is now by default in immediate mode</li>
- <li><tt>RichTextArea</tt> no longer receives a special "v-richtextarea-readonly" class when readonly, only the standard "v-readonly" class</li>
- <li><tt>Grid</tt> has been typed to the bean type it is using and its columns are specified with a value provider callback instead of "propertyId"</li>
- <li><tt>Grid</tt> Editor now uses <tt>Binder</tt> instead of <tt>FieldGroup</tt>, and doesn't support a <tt>FieldFactory</tt></li>
- <li><tt>Grid</tt> selection API has been removed from component level to <tt>GridSelectionModel</tt> which is available via <tt>Grid::getSelectionModel()</tt></li>
- <li><tt>Grid::setSelectionModel(GridSelectionModel)</tt> visibility has been changed from <tt>public</tt> to <tt>protected</tt> to reduce confusion with <tt>Grid::setSelectionMode</tt></li>
- </ul>
- <ul><h4>Client side widget specific API changes</h4>
- <li><tt>VTextualDate</tt></li> widget class is removed and replaced by abstract <tt>VAbstractTextualDate</tt> class which is supposed to be inherited by concrete date field implementation widgets
- </ul>
- <ul><h4>Component specific visual changes</h4>
- <li>The default width of <tt>Label</tt> is now undefined, matching other components</li>
- <li>The default width for <tt>ComboBox</tt> pop-up is now 100 % (previously undefined)</li>
- <li><tt>VerticalLayout</tt> has by default <tt>spacing = true</tt> and <tt>margin = true</tt></li>
- <li><tt>HorizontalLayout</tt> has by default <tt>spacing = true</tt> and <tt>margin = false</tt></li>
- </ul>
- <ul><h4>Component specific declarative syntax changes</h4>
- <li>Components in the compatibility packages now use the prefix <tt>vaadin7-"</tt> in declarative design files</li>
- <li><tt>required-indicator-visible</tt> attribute replaces the <tt>required</tt> attribute</li>
- <li><tt>placeholder</tt> attribute replaces the <tt>input-prompt</tt> attribute for input components</li>
- <li><tt>multi-select</tt> attribute is no longer used for select components</li>
- <li><tt>vaadin-option-group</tt> with attribute <tt>multi-select=true</tt> is replaced by <tt>v-check-box-group</tt></li>
- <li><tt>vaadin-option-group</tt> with attribute <tt>multi-select=false</tt> is replaced by <tt>v-radio-button-group</tt></li>
- <li><tt>immediate</tt> attribute is not used for any component</li>
- <li><tt>read-only</tt> attribute is now only used for field components instead of all components</li>
- <li><tt>vaadin-upload</tt> has a new attribute <tt>immediate-mode</tt> that replaces the removed <tt>immediate</tt> attribue</li>
- <li><tt>vaadin-grid</tt> column elements don't have <tt>property-id</tt> attribute anymore. Columns aren't addressed by a property anymore but they have an id. So there is <tt>column-id</tt> attribute instead</li>
- <li><tt>vaadin-grid</tt> doesn't have <tt>readonly</tt> attribute anymore. It is replaced by <tt>selection-allowed</tt> attribute which has special meaning for a <tt>Grid</tt></li>
- </ul>
- <ul id="legacycomponents"><h4>Legacy components in the v7 compatiblity package <tt>com.vaadin.v7.ui</tt> available as a separate dependency</h4>
- <li><tt>Calendar</tt> - no replacement in 8</li>
- <li><tt>CheckBox</tt></li>
- <li><tt>ColorPicker</tt></li>
- <li><tt>ColorPickerArea</tt></li>
- <li><tt>ComboBox</tt></li>
- <li><tt>CustomField</tt></li>
- <li><tt>DateField</tt> - replaced in 8 by <tt>DateField</tt> and <tt>DateTimeField</tt></li>
- <li><tt>Form</tt> - no replacement in 8</li>
- <li><tt>Grid</tt> (and renderers)</li>
- <li><tt>HorizontalLayout</tt></li>
- <li><tt>InlineDateField</tt> - replaced in 8 by <tt>InlineDateField</tt> and <tt>InlineDateTimeField</tt></li>
- <li><tt>Label</tt></li>
- <li><tt>ListSelect</tt></li>
- <li><tt>NativeSelect</tt></li>
- <li><tt>OptionGroup</tt> - replaced by <tt>CheckBoxGroup</tt> (multiselection) and <tt>RadioButtonGroup</tt> (single selection)</li>
- <li><tt>PasswordField</tt></li>
- <li><tt>PopupDateField</tt> - replaced in 8 by <tt>DateField</tt> and <tt>DateTimeField</tt></li>
- <li><tt>ProgressBar</tt></li>
- <li><tt>ProgressIndicator</tt></li>
- <li><tt>RichTextArea</tt></li>
- <li><tt>Select</tt> - removed, use <tt>ComboBox</tt> for single selection and <tt>ListSelect</tt> for multiselection</li>
- <li><tt>Table</tt> - no replacement in 8.0, use Grid.</li>
- <li><tt>TextArea</tt></li>
- <li><tt>TextField</tt></li>
- <li><tt>Tree</tt> - no replacement in 8.0, planned for 8.1</li>
- <li><tt>TreeTable</tt> - no replacement in 8.0, TreeGrid planned for 8.1</li>
- <li><tt>TwinColSelect</tt></li>
- <li><tt>VerticalLayout</tt></li>
- <li><tt>Upload</tt></li>
- </ul>
-
- <h3 id="knownissues">Known Issues and Limitations</h3>
- <ul>
- <li>Drag'n'drop in a Table doesn't work on touch devices running
- Internet Explorer (Windows Phone, Surface)
- (<a href="https://github.com/vaadin/framework/issues/5170">#5170</a>)
- </li>
- <li>Specifying layout sizes using <tt>em</tt> is currently discouraged, because it results in fractional
- components sizes in many cases, which might cause unwanted 1px gaps between components.
- </li>
- <li>Up-to-date information about configuration needed for push and compatibility issues are available in
- <a href="https://vaadin.com/wiki/-/wiki/Main/Configuring+push+for+your+environment">this wiki page.</a>
- <br />
- The most prominent limitations are:
- <ul>
- <li>Push is currently not supported in portals (See <a
- href="https://github.com/vaadin/framework/issues/3741">#3741</a>)
- </li>
- <li>>Transport mode WEBSOCKET does not support invalidating the session on Tomcat 7,
- nor setting cookies for the session. The new transport mode WEBSOCKET_XHR can be
- used to bypass these limitations.
- <br />
- See tickets <a href="https://github.com/vaadin/framework/issues/3911">#3911</a> and
- <a href="https://github.com/vaadin/framework/issues/3861">#3861</a>
- </li>
- </ul>
- </li>
- <li>Grid does not support adding components to cells. Instead light-weight Renderers can be
- used to present and edit data.</li>
- <li>The Maven GWT compilation for <tt>Vaadin7WidgetSet</tt> requires at least 1G of memory, when using the <tt>vaadin-client-compability</tt> package. If compiled inside Eclipse, possibly even more.</li>
- </ul>
-
-
- <h2 id="starting">Getting started with Vaadin Framework</h2>
-
- <p>
- <b>Vaadin Framework</b> is a Java framework for building modern web
- applications that look great, perform well and make you and
- your users happy. <b>The Framework</b> is available under the
- Apache License, Version 2.0 (see the
- <tt>license.html</tt>
- in the Vaadin Framework ZIP package).
- </p>
-
- <p>
- The easiest ways to start using <b>Vaadin Framework</b> are:
- </p>
-
- <ul>
- <li><strong>Maven dependency.</strong>If using Maven, define it as a dependency or use
- any of the available archetypes to create a new project. More information at
- <a href="https://vaadin.com/maven">https://vaadin.com/maven</a>
- </li>
-
- <li><strong>IDE Plugins.</strong>If using Eclipse, use the
- <a href="http://vaadin.com/eclipse">Vaadin Plugin for Eclipse</a>, which automatically
- downloads the Framework libraries. For NetBeans 8.0 and 7.4, use the
- <a href="http://plugins.netbeans.org/plugin/50531/vaadin-plug-in-for-netbeans">official Vaadin plugin</a>
- that provides Maven based wizards and code completion support for Vaadin Framework based development.
- </li>
- </ul>
-
- <p>
- Vaadin Framework is also available as a ZIP package downloadable from <a
- href="http://vaadin.com/download">Vaadin Download
- page</a>.
- </p>
-
- <h3 id="package">Package Contents</h3>
-
- <p>Inside the ZIP installation package you will find:</p>
-
- <ul>
- <li>Separate server-side (<tt>vaadin-server</tt>) and
- client-side (<tt>vaadin-client</tt>, <tt>vaadin-client-compiler</tt>)
- development libraries
- </li>
- <li>Precompiled widget set (<tt>vaadin-client-compiled</tt>)
- for server-side development
- </li>
- <li>Shared library (<tt>vaadin-shared</tt>) for both
- server- and client-side libraries
- </li>
- <li>Valo theme (the only inbuilt theme) (<tt>vaadin-themes</tt>)
- </li>
- <li>Dependency libraries provided under the <tt>lib/</tt>
- folder
- </li>
- <li>Vaadin 7 compatible classes for server-side (<tt>vaadin-compatibility-server</tt>,
- <tt>vaadin-compatibility-shared</tt>), client-side (<tt>vaadin-compatibility-client</tt>) and themes (<tt>vaadin-compatibility-themes</tt>)
- </li>
- </ul>
-
- <p>
- See the
- <tt>README.TXT</tt>
- in the installation package for detailed information about
- the package contents.
- </p>
-
- <p>
- For server-side development, copy the
- <tt>vaadin-server</tt>
- ,
- <tt>vaadin-client-compiled</tt>
- ,
- <tt>vaadin-shared</tt>
- , and
- <tt>vaadin-themes</tt>
- from the main folder and the dependencies from the
- <tt>lib</tt>
- folder to the
- <tt>WEB-INF/lib</tt>
- folder of your Vaadin project. (The
- <tt>vaadin-client-compiled</tt>
- is necessary if you do not wish to compile the widget set by
- your own, which you need to do if you use almost any add-on
- components.)
- </p>
-
- <h2 id="migrating">Migrating from Vaadin Framework 7.7</h2>
-
- <p>
- Most Vaadin Framework 7 applications need some changes when migrating
- to Vaadin Framework 8. In addition to updating dependencies, all references to
- Framework 7 style data binding and components using it need to be
- updated either to use new Framework 8 style data binding or to use the
- compatibility versions in separate packages.
- </p>
-
- <p>
- Vaadin Framework 7 compatible versions of the old data binding API and
- components (with the exception of Form) are available in the package
- com.vaadin.v7 in modules vaadin-compatibility-server,
- vaadin-compatibility-shared etc. that can be used instead of
- vaadin-server, vaadin-shared etc. The package
- vaadin-compatibility-client-compiled contains the widgetset
- <tt>com.vaadin.v7.Vaadin7WidgetSet</tt> which can be used instead of
- <tt>DefaultWidgetSet</tt>.
- </p>
- <p>
- All applications using either <tt>Reindeer</tt>, <tt>Runo</tt>, <tt>Chameleon</tt> or <tt>Base</tt> theme must include the <tt>vaadin-compability-themes</tt> package.
- </p>
-
- <p>
- There is a <a href="https://github.com/vaadin/framework8-migration-tool/">
- migration tool</a> which helps with some of the migration steps.
- </p>
-
- <p>
- Some Vaadin Framework 7 add-ons do not work in version 8 - please check the add-ons in <a
- href="http://vaadin.com/directory/">Vaadin Directory</a>
- for Framework version 8 support.
- </p>
-
- <h3 id="upgrading">Common Upgrade Steps</h3>
-
- <p>Always when upgrading from an earlier Vaadin Framework version, you
- must:</p>
-
- <ul>
- <li>Recompile your classes using the new Framework
- version. Binary compatibility is only guaranteed for
- maintenance releases of Framework.</li>
-
- <li>Unless using the precompiled widget set, recompile
- your widget set using the new Framework version.</li>
- </ul>
-
- <p>Remember also to refresh the project in your IDE to
- ensure that the new version of everything is in use.</p>
-
- <p>
- By using the "
- <tt>?debug</tt>
- " URL parameter, you can verify that the version of the
- servlet, the theme, and the widget set all match.
- </p>
-
- <p>
- <b>Eclipse</b> users should always check if there is a new
- version of the Eclipse Plug-in available.
- </p>
-
- <p>
- <b>Maven</b> users should update the Vaadin Framework dependency
- version in the
- <tt>pom.xml</tt>
- .
- </p>
-
- <h2 id="dependencies">Vaadin Framework @version@ Dependencies</h2>
-
- <p>When using Maven, Ivy, Gradle, or other dependency
- management system, all Framework dependencies are downloaded
- automatically. This is also the case when using the Vaadin
- Plugin for Eclipse.</p>
-
- <p>
- The Vaadin Framework ZIP installation package includes the
- dependencies in the
- <tt>lib</tt>
- subfolder. These need to be copied to the
- <tt>WEB-INF/lib</tt>
- folder of the web application that uses Vaadin Framework.
- </p>
-
- <p>
- The dependencies are listed in the <a href="license.html">Licensing
- description</a>. Some are explicit dependencies packaged and
- distributed as separate JARs, while some are included inside
- other libraries.
- </p>
-
- <h3>Bean Validation</h3>
-
- <p>
- If you use the bean validation feature, you need
- a Bean Validation API implementation. You need to install
- the implementation JAR in the
- <tt>WEB-INF/lib</tt>
- directory of the web application that uses validation.
- </p>
-
- <h2 id="supportedversions">Supported Technologies</h2>
-
- <p>
- Vaadin Framework 8 is compatible with <b>Java 8</b> and newer. Vaadin Framework
- 8 is especially supported on the following <b>operating
- systems</b>:
- </p>
-
- <ul>
- <li>Windows</li>
- <li>Linux</li>
- <li>Mac OS X</li>
- </ul>
-
- <p>
- Vaadin Framework 8 requires <b>Java Servlet API 3.0</b> but also
- supports later versions and should work with any Java
- application server that conforms to the standard. The
- following <b>application servers</b> are supported:
- </p>
-
- <ul id="supportedservers">
- <li>Apache Tomcat 7-8</li>
- <li>Apache TomEE 1.7 and 7.0</li>
- <li>Oracle WebLogic Server 12.2</li>
- <li>IBM WebSphere Application Server 9</li>
- <li>JBoss EAP 6</li>
- <li>Wildfly 8-10</li>
- <li>Jetty 8-9</li>
- <li>Glassfish 4</li>
- <li>Payara Server 164</li>
- </ul>
-
- <p>
- Vaadin Framework 8 supports the JSR-286 Portlet specification and all
- portals that implement the specification should work provided
- they support Java 8 and Servlet 3.0. The following <b>portals</b>
- are supported:
- </p>
-
- <ul>
- <li>Liferay Portal 6.2</li>
- </ul>
-
- <p>
- Vaadin Framework @version@ supports the following <b>desktop browsers</b>:
- </p>
-
- <ul>
- <li>Mozilla Firefox (latest version, currently 48)</li>
- <li>Mozilla Firefox ESR (latest version, currently 45 ESR)</li>
- <li>Internet Explorer 11, Edge (latest version)</li>
- <li>Safari 9+</li>
- <li>Google Chrome (latest version, currently 52)</li>
- </ul>
-
- <p>
- Additionally, Vaadin Framework supports the built-in browsers in the
- following <b>mobile operating systems</b>:
- </p>
-
- <ul>
- <li>iOS 9+</li>
- <li>Android 4+ with Chrome 42+</li>
- </ul>
-
- <h2 id="vaadinontheweb">Vaadin on the Web</h2>
-
- <ul>
- <li><a href="http://vaadin.com">vaadin.com - The
- developer portal containing everything you need to
- know about Vaadin</a></li>
- <li><a href="http://vaadin.com/demo">vaadin.com/demo
- - A collection of demos for Vaadin Framework</a></li>
- <li><a href="http://vaadin.com/learn">vaadin.com/learn
- - Getting started with Vaadin Framework</a></li>
- <li><a href="http://vaadin.com/forum">vaadin.com/forum
- - Forums for Vaadin Framework related discussions</a></li>
- <li><a href="http://vaadin.com/book">vaadin.com/book
- - Book of Vaadin - everything you need to know about
- Vaadin Framework</a></li>
- <li><a href="http://vaadin.com/api">vaadin.com/api
- - Online javadocs</a></li>
- <li><a href="http://vaadin.com/directory">vaadin.com/directory
- - Add-ons for Vaadin Framework</a></li>
-
- <li><a href="http://vaadin.com/pro-tools">vaadin.com/pro-tools
- - Commercial tools for Vaadin Framework</a></li>
- <li><a href="http://vaadin.com/support">vaadin.com/support
- - Commercial support for Vaadin Framework</a></li>
- <li><a href="http://vaadin.com/services">vaadin.com/services
- - Expert services for Vaadin Framework users</a></li>
- <li><a href="http://vaadin.com/company">vaadin.com/company
- - Information about the company behind Vaadin Framework</a></li>
- <li><a href="https://vaadin.com/contribute">vaadin.com/contribute - Contribution quide</a></li>
- <li><a href="https://github.com/vaadin/framework/issues">github.com/vaadin/framework - Github repository</a></li>
- </ul>
-
- </div>
- <!-- /content-->
-
- <div id="footer">
- <span class="slogan"><strong>vaadin <em>}></em>
- </strong> thinking of U and I<span> <a href="#top">↑ Back
- to top</a>
- </div>
- <!-- /footer -->
- </body>
- </html>
-
- <!-- Keep this comment at the end of the file
- Local variables:
- mode: xml
- sgml-omittag:nil
- sgml-shorttag:nil
- sgml-namecase-general:nil
- sgml-general-insert-case:lower
- sgml-minimize-attributes:nil
- sgml-always-quote-attributes:t
- sgml-indent-step:2
- sgml-indent-data:t
- sgml-parent-document:nil
- sgml-exposed-tags:nil
- sgml-local-catalogs:("/etc/sgml/catalog" "/usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG")
- sgml-local-ecat-files:("ECAT" "~/sgml/ECAT" "/usr/share/sgml/ECAT" "/usr/local/share/sgml/ECAT" "/usr/local/lib/sgml/ECAT")
- End:
- -->
|