从 vaadin 7 迁移到 vaadin 24 的最佳方式

问题描述 投票:0回答:1

问题的本质就在名称中。

我在 vaadin 7.7.15 上有一个大型遗留项目。需要切换到现代版本的vaadin 24。

除了从头开始重写还有什么最佳实践吗?虽然我尝试升级到软件版本 8 https://vaadin.com/docs/v8/framework/migration/migration-to-vaadin8 从那里升级到 24,但距离越远,越多这个想法似乎失败了。

migration vaadin vaadin7 vaadin-flow vaadin24
1个回答
0
投票

对于所有 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 部件,但对我们来说这是

  • 太贵了
  • 我们需要通过转到完整的 v8 或返回到 v7 来摆脱 v7 兼容层。但既然你使用的是 v7,那么应该不是问题
© www.soinside.com 2019 - 2024. All rights reserved.