【问题标题】:Java App with Swing and Web GUI带有 Swing 和 Web GUI 的 Java 应用程序
【发布时间】:2014-11-22 08:56:37
【问题描述】:

我需要为某些业务的内部用户构建桌面应用程序。它还需要为外部用户提供基于 Web 的 GUI。我知道,使用 Web GUI,内部和外部用户都可以访问它,但有些因素是我们无法控制的——因此,桌面应用程序确实是不可避免的。出于这个问题的目的,我想重点介绍同时支持桌面客户端(Swing)和浏览器客户端的方式。

是否有可遵循的最佳做法?我可以想到以下:

  1. 将服务类公开为 Web 服务,并从 Swing 客户端和 Web 客户端使用这些服务
  2. 将服务类公开为 EJB(业务涉及 Java EE 技术)并将 Swing 客户端用作 EJB 客户端。 Web 客户端可以使用控制器类与 EJB 交互

除了 Web 服务提供的技术不可知论之外,使用这两种方法是否有任何已知的好处?

另外,对于 Swing 客户端,我正在考虑使用 Java Web Start 来轻松分发。我之前没用过,不过据我了解,它可以支持启动时自动版本检查,并在需要时更新客户端——这样对吗?

【问题讨论】:

  • “它可以在启动时支持自动版本检查并在需要时更新客户端 - 这是否正确?” 是的,阅读更多here
  • 还有here
  • 感谢 JWS 链接。有人可以提供有关在服务层同时支持 Swing 和 Web 客户端的最佳实践的信息吗?

标签: java swing web-services user-interface ejb


【解决方案1】:

如果您需要避免对浏览器上的 Java/JVM 的依赖(您很可能至少希望这样做),那么您绝对应该使用混合 Swing-Vaadin 方法。使用 Swing 或 JavaFX 构建内部应用程序,并使用 Vaadin 构建 Web 部件。 Vaadin 中的编程模型非常接近典型的桌面 UI 库,相同的开发人员很容易同时使用这两种代码库,而且您自然会使用完全相同的后端。

请参阅 the example application 我最近为演示这样的设置而构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 2015-07-23
    • 2017-03-11
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多