【问题标题】:Develop desktop applications view with HTML, as a web application使用 HTML 开发桌面应用程序视图,作为 Web 应用程序
【发布时间】:2010-11-28 20:22:58
【问题描述】:

我习惯于用 Java 开发 Web 应用程序(Struts、Spring、JSP...)。但现在我想开发一个桌面。我从不喜欢用 Java(AWT、Swing、SWT)设计窗口:对于丑陋的界面来说工作量太大。所以我认为如果可以利用我的网络应用技能,这可能是一个好主意。一种选择是修改 SWT 浏览器并调用 Java 函数而不是 HTTP 请求。一个非常好的附加组件是使用 JSP。最后,我认为可能有一些框架或工具。

你认为我的提议是个好主意吗? 有一些可用的框架吗?

我需要这个用于轻型应用。所以我认为嵌入 Tomcat 服务器并将其用于 HTTP 请求并不是一个好主意。

编辑:一个示例应用程序可以是文件夹比较器:您指定两个文件夹,该应用程序会向您显示哪些文件夹和文件不同。在这种情况下,我认为打开外部浏览器很难看。臃肿的应用程序(及其服务器、MVC 等)不是最佳选择。

【问题讨论】:

  • 请使用 Adob​​e AIR 之类的软件。极好的。非常容易。我们取得了很好的成功。
  • 您可能还喜欢钛。它们还允许您运行 Ruby 和 Python。
  • 感谢您的回答。 AFAIK、AIR 和 Titanium 不适用于 Java 开发,所以我的代码不会是跨平台的。此外,您没有获得可执行文件,您必须安装其启动器。如果我错了,请纠正我。
  • 您可以在所有平台上使用 Adob​​e AIR 应用程序。不确定钛。

标签: java web-applications frameworks swt desktop-application


【解决方案1】:

如果您使用过 JavaScript 库 - ExtJs - 那么您可以将它与 Adob​​e AIR 一起使用来构建美观的基于桌面的 Web 应用程序。

使用 flex builder ide 在 Adob​​e AIR 中构建应用程序也简单而优雅。

【讨论】:

  • 我喜欢 ExtJS ;) 如前所述,问题是 AIR 不适用于 Java 编程并且您不会获得可执行文件:用户必须安装 AIR。如果我错了,请纠正我。谢谢!
  • 您必须尝试使用​​ Aptana。他们有很多很好的例子可以帮助你前进。
  • 您可以使用 merapi API(java 中的代码),然后使用 AIR 进行前端。将应用程序和安装程序捆绑在一组中。
【解决方案2】:

如果您选择嵌入轻型服务器,请检查 winstone 是否完全符合 J2EE,但应该足以满足您的需要。 关于浏览器,我自己不是 swt 的忠实拥护者,它使跨平台部署变得复杂,因此可能值得关注 jwebpane,尚未完全准备好,但可能是您需要的解决方案。

【讨论】:

    【解决方案3】:

    我不会打折嵌入网络服务器。我之前使用嵌入Jetty 的Web 启动应用程序来完成此操作。

    下载速度非常快,服务器启动,您可以使用BrowserLauncher 立即将您的浏览器驱动到嵌入式服务器,从而访问您的应用程序。 Jetty 采用模块化设计,占用空间小,因此您可以将其缩减为最基本的必需品。

    【讨论】:

    • 不完全排除将轻型服务器作为 Jetty 嵌入。也许我会做的是我没有找到我要求的东西。谢谢。
    【解决方案4】:

    有多种选择:您可以使用 Firefox 的插件 API 并在其中开发您的应用程序。您可以使用 HTML、JavaScript、内置数据库、所有浏览器功能并访问 OS 级别。

    或者您可以尝试PyQt(Python 和 Qt),它可以非常快速地编写简单的应用程序。

    [编辑] 您面临的主要问题是安全性:出于安全原因,JavaScript 应用程序(在 HTML 页面中运行)无法访问本地操作系统资源。因此,除非您的浏览器允许您使用 JavaScript 编写插件(这仅适用于 FF AFAIK),否则没有其他方法的帮助就无法编写使用 HTML 作为“视图”的应用程序。

    此外,HTML 在应用程序功能方面非常有限。 HTML 被设计为“静态文档视图”而不是“应用程序”。您可以执行 GMail 之类的操作,但如果将 GMail 与任何真正的邮件应用程序(Outlook、Thunderbird、Notes)进行比较,您很快就会发现真正的桌面应用程序提供了更多功能。

    【讨论】:

    • 感谢您的回答,但我认为这不是我想要的。我想做一个独立的应用程序,不需要安装 Firefox 或任何其他应用程序(Java 除外)。 PyQt 可以是做桌面应用程序的好方法,但 Python 不是 Java,Qt 也不是 HTML。事实上,Qt 更像是 Swing 等问候语。
    • 查看我的编辑:如果你坚持所有观点,你想要的可能是不可能的。
    猜你喜欢
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2012-07-17
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多