Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
What if vaadin has a declerative (XML based) page flow executor?
We all know that as a framework; vaadin is different than traditional page based web frameworks. That is, it is aimed to develop more desktop like applications that are running on browsers (like applications developed by SWING or SWT etc.). Although this is the case, complex desktop applications still need navigation/interaction between custom ui components that are reflecting business cases/models.
Navigator addon is partially pointing this problem by introducing NavigableAppLevelWindow, Navigator and Page (any ui component) concept.
Vaadin Touch Kit, another addon that tries to address navigation (back and forth) between ui components by introducing NavigationManager and NavigableView. There may be other addons that are trying to simplify or address this problem (I just check the two addons above).
In those addons, the navigation flow is still embeded inside the java code, that is if we want to examine a business case from start to end, we must examine the code to find the path from begining of the case in terms of Page or NavigationView (for the above addons) to end.
Wouldn't it be nice If there is a flow definition written in XML like Spring Web Flow. And the execution is delegated to an FlowEngine through UI events and let the engine manage the transitions etc..
Any comments on this subject ? Advantages and disadvantages of having such structure on top of Vaadin framework? are there any work ongoing similiar to this idea?
Coincidence or not, I have been looking at the same two plugins and I have been thinking along the same lines. So in my humble opinion what you propose makes quite a lot of sense. Then again, I am a Vaadin newbie, so I would like to see the experts chime in.
I know this is an old post, but I'd like to tell you about our solution: Lexaden Web Flow - is available under Apache 2.0 license.
If you are interested you can see the samples and source code of Lexaden Web Flow here:
Lexaden Web Flow Panel Add-on