Hello,
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?
Hello,
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?
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
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.
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
Cheers
Mario
Hi Konstantin (@krivopustov)
I guess you have made some progress on Vaadin 23 by now, I am curious about where do we stand in terms of automatic migration from current to the upcoming version of Jmix with Vaadin 23.
Another related question. I have a large project originally built on CUBA v. 6x and later migrated to v7x and I still have some screens based on v6.x and many of them are modified to v7.x. Since we are moving to Vaadin 23 from 8 in Jmix later this year, what would be the most effective steps to move ultimately to vaadin 23 Jmix. which of the following scenarios will be more applicable?
Thank you for your suggestion, this will help a lot.
The set of UI components and containers will be different, including their Java APIs, so I don’t think an automatic migration will be possible.
I would suggest to wait until Jmix with the new UI is ready and stable, then migrate CUBA → Jmix, and rewrite your screens. For simple CRUD screens, perhaps the best strategy will be just re-generate them from scratch.
Thank you Konstantin for your suggestion. I’ll then wait for the new version to migrate from CUBA so that I don’t have to deal with such impact management twice.
Hi @krivopustov ,
Hope everything about next version of Studio and Framework goes well .
I have two questions about Vaadin Flow:
Regards,
Ray
Hi Ray,
Yes, we are going to deliver the preview version of Flow UI (it’s now official name of the new UI module) in Jmix 1.3 this June.
Do you mean choosing different canvas dimensions in Studio visual designer? It’s on our todo list.
Unfortunately it turned out to be very difficult, so we postponed further investigation to a later stage.
Regards,
Konstantin
Hi Konstantin,
Tanks for your answers.
Yes, exactly! Looking forward to next version.
Regards,
Ray
Can’t see any tickets for vaadin 23 here: Release 1.3 · GitHub - does that mean delivery of preview version of Flow UI has been delayed?
Oh right, thank you!
EDIT: But my question from before is actually still valid, because it’s still in the backlog and 1.3 is scheduled for June - so, this month.
This issue is actually in progress, you can find quite a lot of linked commits inside. The backlog status is a little fluctuation in our dev process.
So you will definitely see the Flow UI preview in v.1.3 this month.
Ok, awesome, I’m super excited. So is it already possible to start migrating to Vaadin 23 with Jmix 1.3?
Not so fast, please
There is a lot to be done to make the Flow UI comparable in features with the current Vaadin 8 UI and stable enough.
In the upcoming months, we are going to improve the Flow UI module and its support in Studio with each 1.3.x patch release. There will be a lot of backward incompatible changes in this module.
The purpose of the preview is to give an idea of how it will look, and to start getting feedback to prioritize the further development. It’s also an important milestone for the Jmix team.
We’ll be happy to hear your thoughts about what should be implemeted/fixed first!
@krivopustov I think the most important features missing right now are:
Without those, it’s really hard to customize (or try to customize) the view.
I learned a lot of the CUBA framework by just exploring what I can inject and what I can generate a handler for.
Sure, it’s on the way.