Migration steps for the new Vaadin 23 UI

Hi Klaus,

That’s a good question.

Our research and first design steps so far lead us to the conclusion that the new UI based on Vaadin Flow will be very different from the current one. Many aspects will be different: the set of components and their properties, components and screens API (types of events, base classes, builders, etc.), routing, screens working area.

Why is that? First of all, Vaadin Flow is very different from Vaadin 8 and there is no any automatic migration between them at all. Second, the current UI components in Jmix were designed long time ago to support both Vaadin and Swing (desktop) implementations, so now they look too heavyweight and superfluous. In the new UI, we would like to make integration of custom or third-party frontend components much simpler, so we need to make our own layer as thin as possible. If we focus on compatibility with the current UI, we’ll lose the advantages of the new Vaadin and limit the future opportunities.

So we cannot promise any compatibility or automatic migration. Of course, a lot of current UI features will stay the same, at least in principle: descriptors / controllers duality, data components, event handlers, Studio screen designer. The developer experience will be similar, but the API will change significantly.

This is our current understanding, of course it may change down the road.

Regards,
Konstantin

1 Like