Feature Pack
- Differences from Classic Components
- Vaadin-Oriented Features
- Desktop-Oriented Features
- Desktop-Oriented Features - Blocking Dialog
Feature Pack is a part of the Modernization Toolkit. It’s a collection of classes and components that isolates useful features from popular developer frameworks, and reproduce them in Vaadin Flow. The scope of Feature Pack was originally limited to Vaadin 7 and 8 features. It now also includes Swing, AWT and select features from JGoodies and NetBeans.
Feature Pack replaces the older Classic Components project which sought to be close drop-in replacements for several Vaadin 7 and 8 components and classes. As a part of the Modernization Toolkit, Feature Pack goes beyond Classic Components in its setup in a few ways.
Differences from Classic Components
Feature Pack shifts the emphasis from compile-time compatibility in Java and DOM equivalence, to features that you can use. Unlike Classic Components, no part of Feature Pack is marked as deprecated because there’s no horizon set for when the support for Feature Pack ends. Unlike Classic Components, most if not all empty methods have been removed that do nothing but throw an UnsupportedException at runtime, leaving a collection of classes and methods that all work;
Implementing Feature Pack in your application is something you can do as part of your regular software development lifecycle, or as part of a broader modernization project. As a tool for modernization, Feature Pack is used by the Dragonfly transpiler that targets it with its refactoring rules.
Vaadin-Oriented Features
The following Vaadin-inspired features are supported in Feature Pack:
Feature Pack Class or Component | Vaadin Framework Inspiration |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Desktop-Oriented Features
The following desktop-inspired features are supported in the Feature Pack:
Feature Pack Class or Component | Desktop Inspiration |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Desktop-Oriented Features - Blocking Dialog
In addition to various layouts and components, Vaadin Feature Pack also supports blocking dialogs. Typical desktop applications will wait user response over a modal dialog and proceed execution after receiving a response from the user. This is not the case with web applications in general. Accepting a user response while the serving thread is waiting at the server side requires Virtual Threads from Java 21. This is a separate artifact that you need to refer explicitly in order to use it and not included in Feature Pack components by default.