【问题标题】:Vaadin WebApplication - Offline Mode possible?Vaadin WebApplication - 可以离线模式吗?
【发布时间】:2019-05-16 12:31:34
【问题描述】:

所以情况如下: 我最近从一位离开公司的前同事手中接过了 Vaadin8 WebApplication 的责任,这意味着我现在将负责维护以及开发客户可能想要的任何增强功能。 该应用程序基本上显示一个表单,用户可以在其中输入他/她的个人数据,单击“提交”后,这些数据将被发送回应用程序服务器,然后将数据存储在后端数据库中。

由于客户计划在 WiFi 连接可能非常糟糕/不可靠的环境中使用此应用程序(例如,有数千人同时访问 WiFi 的大型展会),他们要求我想出一种应用程序可能的方式离线使用。这意味着无论是否有互联网连接,应用程序都应该可用,并且数据应该存储在本地,直到重新建立连接。

现在,据我了解 Vaadin(我绝不是 Vaadin 专家,我上次简单接触 Vaadin 是在 2 年前),离线操作并不是 Vaadin 真正要做的,尤其是因为它服务器端架构。

因此,我的问题是,是否有任何好的方法可以实现上述要求。

在谷歌上搜索了一下,我发现了 Vaadin Touchkit,它或多或少似乎可以满足我的需求。然而,对我来说(之前没有使用过),它看起来是一种非常深入地集成到应用程序中的技术,这让我很难估计“转换”现有应用程序所需的工作量到“touchkit-app”。

我们将不胜感激有关查看哪些技术的任何帮助和/或建议。

【问题讨论】:

    标签: java web-applications vaadin8


    【解决方案1】:

    现在,据我了解 Vaadin(我绝不是 Vaadin 专家,我上次简单接触 Vaadin 是在 2 年前),离线操作并不是 Vaadin 真正要做的,尤其是因为它服务器端架构。

    是的,带有 Java 的 vanilla Vaadin 是有状态架构,因此不支持开箱即用的离线操作。

    在谷歌上搜索了一下,我发现了 Vaadin Touchkit,它或多或少似乎可以满足我的需求。

    是的,带有 Vaadin 8 的 Touchkit 5 旨在创建移动应用程序。请注意,如果您的目标是创建一个可在桌面和移动设备之间扩展的应用程序,包括离线支持,那么 Touchkit 不太适合该目的。当您想要创建两个 Vaadin UI 应用程序时,Touchkit 可以正常工作,一个用于桌面,一个用于移动。它们可以共享一些通用的业务逻辑和后端逻辑。

    我们将不胜感激有关查看哪些技术的任何帮助和/或建议。

    我们最新版本的框架 Vaadin 14 基于不同的客户端技术堆栈。它还不支持复杂的离线模式逻辑。但是它支持simple offline page,可以自定义。

    文档在这里:https://vaadin.com/docs/v13/flow/pwa/tutorial-pwa-offline.html

    还有另一个讨论,看看如何尝试自定义它: PWA offline mode not loading from cache on mobile browsers

    从 Vaadin 15+ 开始,也可以使用 TypeScript 创建视图。其主要用例之一是能够创建本质上无状态的视图,并且更易于离线支持。 Vaadin 的文档中有a chapter about creating offline views

    【讨论】:

    • 嗨大图,感谢您的回答和建议。因此,如果我理解正确,我唯一的选择是将整个应用程序从 Vaadin 8 迁移到 13,然后使用脱机页面。但是,由于需要显示的表单是根据传递的 URL 参数确定的(有各种不同的表单可用),我不确定我是否能够通过这种方式解决我的问题,因为离线页面似乎会保持原样(我只是保存为 html 文件)。
    • 我不知道你的应用和用例的细节,所以我不能说你应该选择哪一个。带有 Vaadin8 的 Touchkit 可能是您的不错选择,Vaadin 13 的离线页面可能太有限,或者只是恰到好处。我建议尝试和测试,找出适合你的。
    猜你喜欢
    • 1970-01-01
    • 2017-04-15
    • 2016-09-13
    • 2010-10-24
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多