2

我有一个在 LAN 环境中运行的 Java 桌面应用程序(带有 Swing GUI)。通常,我用一堆机器运行它,一些扮演服务器的角色,而另一些扮演客户端的角色。

现在,我想在互联网上运行同一个应用程序,服务器和客户端都将托管在一个网站上,这样网站的访问者就可以作为客户端运行并相互交互。

我想知道这种迁移有哪些选择?我是否需要使用一些基于 Java 的 Web 框架从头开始重写所有内容?如果是这样,我应该如何处理 GUI 部分?还是我只是将应用程序作为小程序托管?(不知何故,我不愿意走小程序路线,因为它可能需要在我无法控制的个别访问者的机器上进行额外设置,并且可能存在兼容性问题)。谢谢!

4

3 回答 3

2

一种选择是使用Vaadin。编程思维方式非常接近 JavaSE Swing。它是客户端的 GWT 衍生产品,但逻辑实际上在服务器 JVM 上,并且框架负责通信(xhr 或 Web 套接字)。

于 2015-02-14T15:18:16.100 回答
1

Google Web Toolkit (GWT)可能对此很有用,因为它可以让您重用通用 Java 代码并将其编译为 JavaScript 以便在浏览器中运行。在我的应用程序中,我正在重用在服务器中使用的客户端中的类。UI 必须使用 Web 小部件重新创建,但是存在所见即所得的工具。

如果您需要双向通信,您还可以将原始套接字迁移到 Websocket。

于 2012-04-04T19:07:25.237 回答
1

如果您的代码遵循 mvc 模式,则应该可以重用模型内容。我最喜欢的 java web 框架是那些来自 spring 源的。Spring mvc(干净的 mvc 设计)或 spring roo(更多带有代码生成的 rails 样式等)。两者都与 dojo 框架(ajax / gui 的东西)很好地集成。

于 2012-04-04T20:35:18.620 回答