Migration steps for the new Vaadin 23 UI


when the new Vaadin 23 UI is available, will there be any required manual migration steps for the application code? Or can we expect a somewhat seamless transition?

1 Like

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.


Thank you for your thorough answer @krivopustov .

Do you think it will be possible to use both in a project, so a slow transition to the new UI can be done?

Yes, I hope so.

1 Like

Technically it seems to be possible, since for plain vaadin apps there is a feature called multiplatform runtime.

But it is only present for paid vaadin customers. See: https://vaadin.com/docs/v14/tools/mpr/overview


1 Like