Central aspects of the linkki Framework are
the declarative definition of UIs via annotations
the flexible data binding
In the first part of this chapter the
BindingManager basics, and how they interact, are detailed.
Further on, Data binding with PMOs is explained. These can be simple PMOs, in which values are stored, or PMOs with domain model binding, where values are bound directly to the domain model. The binding of multiple model objects in a PMO is also explained.
Which properties of the defined UI elements can be controlled and which possibilities linkki provides, is discussed in the section Binding of further UI element properties.
The chapter concludes with Cross-Sectional Data Binding.
linkki is split into several modules from which you can pick what you need:
The core module contains UI framework independent code to setup bindings, aspects,
BindingContext etc. In addition, it provides common usable implementations for reading linkki annotations. As a result,
linkki-core dependent code can stay unmodified when switching to a different UI framework. It also sets up as much as possible to enable the framework specific part to easily create the UI elements and layout components. If you intend to use linkki with Vaadin 8 (instead of writing your own UI framework mapping), you can directly use the dependency below.
To declare the dependency in maven:
linkki Core for Vaadin
To use linkki with Vaadin you need to reference a module providing all the Vaadin version specific implementations and all component annotations described in UI Components.
Use the following dependency:
linkki Application Framework for Vaadin
The application framework contains additional classes for building business applications, described in Application Framework. See Maven Dependency for the linkki Application Framework.
linkki extends Vaadin with custom widgets in its own widgetset. It is included in the Maven Dependency for the linkki Application Framework and can be included for plain
linkki-core-vaadin as a precompiled widgetset from
or to be included in your own widgetset from