The essence of the question is in the name.
I have a big legacy project on vaadin 7.7.15. There is a need to switch to the modern version of vaadin 24.
Are there any best practices besides rewriting from scratch? While I'm trying to upgrade to version 8 of the software https://vaadin.com/docs/v8/framework/migration/migrating-to-vaadin8 to go from there to 24, but the further away, the more this idea seems to fail.
there is no such "best way" for all vaadin users ;)
We did such a big bang migration from a vaadin 8 application (With vaadin7 compatibility classes active) to vaadin 23 in the first half of 2022.
Our lessons learned where:
Depending on what data binding with vaadin you use, you will have to rewrite that part to use pojo's
This includes all the grid/list renderers too, but many concepts can be taken over. That part is not complicated work, but it will probably touch many parts of your code, depending of your architecture
The flow between screens has to (or better should) be rewritten to make use of the router features
You can do it without rewriting this part, but you will miss some features like "BeforeViewEnter" etc. events or url parameter handling or have to reimplement the wheel or fight vaadin standard behaviour
Missing addons, at least in spring 2022 we did lack many many used addons from the 7/8 versions or they did only work for v14
In the last 12 months many addons have been upgraded/ported over to v23/v24, so this might not be an issue anymore, but this depends on what thirdparty addons you did use
Most detail screens could easily be converted from v7/8 to 23 by replacing the imports and changing the event handler names/listeners
This part was simpler than expected, but then we don't have that complex detail pages
Currently we are sheduling the upgrade to v24, which should not be that big an issue, but since it requires tomcat 10 and the jakarta imports instead of many javax imports, it will also require many udates to the imports and perhaps a few more changes
When we where going live with the v23 system, we had the v7/v8 system still running and using the same DB for 3-4 months.
So the users could use the new system, and if something did not work as expected, still do that part of the work in the old system.
I hope this helps you on your road with vaadin.
PS: Of course there is the MPR offer from Vaadin, where you can use existing v7/v8 parts in a v23 application, but for us this was