问题的本质就在名称中。
我在 vaadin 7.7.15 上有一个大型遗留项目。需要切换到现代版本的vaadin 24。
除了从头开始重写还有什么最佳实践吗?虽然我尝试升级到软件版本 8 https://vaadin.com/docs/v8/framework/migration/migration-to-vaadin8 从那里升级到 24,但距离越远,越多这个想法似乎失败了。
对于所有 vaadin 用户来说,没有这样的“最佳方法”;)
我们在 2022 年上半年从 vaadin 8 应用程序(启用 vaadin7 兼容性类)到 vaadin 23 进行了一次大爆炸式迁移。
我们的经验教训是:
根据您使用的 vaadin 数据绑定,您必须重写该部分以使用 pojo 的
这也包括所有网格/列表渲染器,但许多概念可以被接管。这部分并不是复杂的工作,但它可能会涉及代码的许多部分,具体取决于您的架构
屏幕之间的流程必须(或者更好应该)重写以利用路由器功能
你可以在不重写这部分的情况下做到这一点,但你会错过一些功能,如“BeforeViewEnter”等事件或url参数处理,或者必须重新实现轮子或与vaadin标准行为作斗争
缺少插件,至少在 2022 年春季,我们确实缺少 7/8 版本中使用的许多插件,或者它们只适用于 v14
在过去 12 个月中,许多插件已升级/移植到 v23/v24,因此这可能不再是问题,但这取决于您使用的第三方插件
通过替换导入并更改事件处理程序名称/侦听器,大多数详细信息屏幕可以轻松地从 v7/8 转换为 23
这部分比预期简单,但我们没有那么复杂的详细信息页面
目前我们正在计划升级到 v24,这应该不是什么大问题,但由于它需要 tomcat 10 和 jakarta 导入而不是许多 javax 导入,因此还需要对导入进行许多更新,也许还需要一些更改
当我们使用 v23 系统时,v7/v8 系统仍在运行并使用相同的数据库 3-4 个月。
这样用户就可以使用新系统,如果某些事情没有按预期工作,仍然可以在旧系统中完成该部分工作。
我希望这对您在 vaadin 的道路上有所帮助。
PS:当然有 Vaadin 提供的 MPR 服务,您可以在 v23 应用程序中使用现有的 v7/v8 部件,但对我们来说这是