【发布时间】:2011-03-29 10:08:05
【问题描述】:
我有 Java swing 应用程序。我想转换为网络基础应用程序。什么是最简单的方法? 有没有可用的工具,最好是开源代码?
【问题讨论】:
标签: java swing web-applications
我有 Java swing 应用程序。我想转换为网络基础应用程序。什么是最简单的方法? 有没有可用的工具,最好是开源代码?
【问题讨论】:
标签: java swing web-applications
有一个新的开源项目webswing.org。它是一个 Web 服务器,您可以在其中部署您的 Swing 应用程序。该应用程序通过 websockets 呈现到 html 画布,因此您可以获得与桌面完全相同的外观和感觉。
【讨论】:
AjaxSwing 是一个运行时工具,需要服务器许可证才能用于商业用途。
您可能想试试Mia Transformer -该网站的部分内容是法语-。他们将 Swing Java 代码更改为 GWT Java 代码,GWT 将其更改为 Javascript,然后如果您愿意,您可以使用 Google V8 编译器来加快执行速度。当然不是100%。我们将在一个大型项目中尝试它,看看它是否有效。
提供给我们的另一个链接是SwingWeb。不过没查过。
会及时通知您。如果您遇到可行的解决方案,请分享。
【讨论】:
Mia Transformer?在网站上我不明白如何找到、下载和使用它..
对于Java 程序员the Vaadin framework 与Java Swing 非常相似。
在架构上,Vaadin 和 Swing 应用程序当然有很大的不同(Web 与桌面),但是因为 Vaadin 应用程序中的 UI 逻辑是在服务器端(在 JVM 中)运行的,所以 Swing 应用程序中的所有 Java 类和应用程序逻辑通常是完全可重复使用的。您可以在hello-world sample 中看到事件驱动编程模型与 Swing 的相似之处。
此外,Vaadin 有效地向 Java 应用程序程序员隐藏了所有特定于 Web 的细节(html、css、rpc...),使其成为将旧 Swing 应用程序转换为现代 HTML5 Web 应用程序的熟悉且有效的工具。
【讨论】:
实际上有一个神奇的工具可以用来将桌面应用程序转换为网络应用程序:AjaxSwing
但请注意,它只能转换非常简单的摇摆应用程序。如果您使用复杂的渲染器,您可能无法获得正确的结果。而且它不是免费的。
【讨论】:
您可以考虑 Java Web Start,它不会转换应用程序,但您可以将应用程序用作基于 Web 的应用程序...
【讨论】:
此工具:http://sourceforge.net/projects/j-wings/ 是与 API 兼容的 Swing 替代品,但在 servlet 引擎中运行并呈现为 HTML。
【讨论】:
对于当前的访问者,Jetbrains 有一个名为 Projector 的新开源投影仪,可用于在 Web 中渲染 Swing 应用程序,他们也使用它来渲染他们的 Intellij IDE。
以下是他们github的摘录
Projector 是一种无需任何窗口系统即可运行 Swing 应用程序并在本地或远程访问它们的方法。
该项目仍处于孵化器阶段。但我已经尝试将它与他们的 IDE 一起使用,并且效果很好。
【讨论】:
我知道这已经晚了,但 Webswing 允许您在 Web 浏览器中运行 Java Swing 应用程序。
【讨论】:
正如 Vinod 所说,Java Web Start 是最简单的方法。另一种选择是将应用程序转换为可以从网页运行的 Applet。
【讨论】: