使用HTML开发桌面应用程序视图,作为Web应用程序。

8
我习惯使用Java(Struts,Spring,JSP...)开发Web应用程序。但现在我想开发一个桌面应用程序。我从来不喜欢在Java中设计窗口(AWT,Swing,SWT):对于一个丑陋的界面来说,需要太多的工作。因此,我认为如果能够利用我的Web应用程序技能,这可能是一个好主意。一种选择是修改SWT浏览器,并调用Java函数而不是HTTP请求。非常好的补充是使用JSP。最后,我想可能有一些框架或工具可以实现这一点。
你认为我的提议是个好主意吗? 有可用的框架吗?
我需要这个轻量级应用程序。因此,我认为嵌入Tomcat服务器并与其一起使用HTTP请求不是一个好主意。
编辑:一个例子应用程序可能是一个文件夹比较器:您指定两个文件夹,应用程序会显示哪些文件夹和文件不同。在这种情况下,我认为打开外部浏览器很丑陋。臃肿的应用程序(带有其服务器,MVC等)可能不是最佳选择。

请使用类似Adobe AIR的工具。非常好用,非常简单。我们在使用它时非常成功。 - Alec Smart
您可能也会喜欢Titanium。它们允许您运行Ruby和Python。 - Alec Smart
感谢您的回答。据我所知,AIR和Titanium不适用于Java开发,因此我的代码将无法跨平台。此外,您无法获得可执行文件,必须安装其启动器。如果我有误,请纠正我。 - sinuhepop
你可以在所有平台上使用Adobe AIR应用程序。不确定钛是否支持。 - Alec Smart
4个回答

2
如果您使用过JavaScript库-ExtJs,那么您可以将其与Adobe AIR一起使用,构建外观精美的基于桌面的Web应用程序。
在Adobe AIR中构建应用程序也很简单优雅,只需使用Flex Builder IDE即可。

我喜欢ExtJS ;) 如之前所述,问题在于AIR不适用于Java编程,因此您将无法获得可执行文件:用户必须安装AIR。如果我错了,请纠正我。谢谢! - sinuhepop
你必须尝试使用Aptana。他们有众多的示例可以帮助你入门。 - Alec Smart
您可以使用Merapi API(Java代码)并与AIR前端配合使用。将应用程序和安装程序捆绑在一个集合中。 - techzen

2
如果您的选择是嵌入一个轻型服务器,请检查winstone(点击此处)。虽然它不完全符合J2EE标准,但对于您的需求应该已经足够了。关于浏览器,我个人不是很喜欢swt,因为它会使跨平台部署变得复杂,所以可能值得关注一下jwebpane(点击此处),尽管它还不是很成熟,但可能是您需要的解决方案。

1

有几个选项:您可以使用Firefox的插件API并在其中开发应用程序。您可以使用HTML、JavaScript、内置数据库、所有浏览器功能和访问操作系统级别。

或者您可以尝试 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等。问候。 - sinuhepop
看起来如果你坚持所有的要求,你想要的可能是不可能的。 - Aaron Digulla

1

我不会排除嵌入一个Web服务器的可能性。我以前用过一个Web启动应用程序嵌入Jetty

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


嵌入一个像Jetty这样的轻型服务器并不完全被排除在外。如果我找不到我要求的东西,可能会选择这样做。谢谢。 - sinuhepop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接