我习惯用Java开发Web应用程序(Struts,Spring,JSP ......)。但现在我想开发一个桌面版。我从不喜欢用Java设计窗口(AWT,Swing,SWT):对于丑陋的界面来说太多了。所以我认为如果可以利用我的网络应用程序技能可能是一个好主意。一种选择是修改SWT浏览器并调用Java函数而不是HTTP请求。一个非常好的附加组件将是JSP的使用。最后,我认为可能有一些框架或工具。
你认为我的建议是个好主意吗? 可以使用一些框架吗?
我需要这个用于轻型应用。所以我认为嵌入一个Tomcat服务器并将其与HTTP请求一起使用并不是一个好主意。
感谢您的帮助。
编辑:一个示例应用程序可能是文件夹比较器:您指定了两个文件夹,应用程序显示文件夹和文件不同。在这种情况下,我认为打开外部浏览器很难看。膨胀的应用程序(使用其服务器,MVC等)不是最佳选择。
答案 0 :(得分:2)
如果您使用过JavaScript库 - ExtJs - 那么您可以将它与Adobe AIR一起使用来构建外观漂亮的基于桌面的Web应用程序。
使用flex builder ide在Adobe AIR中构建应用程序也很简单。
答案 1 :(得分:2)
如果您选择嵌入轻型服务器,请检查winstone是否完全符合J2EE标准,但应该足以满足您的需求。 关于浏览器,我不是自己的忠实粉丝,它使很多跨平台部署变得复杂,所以可能值得关注jwebpane,还没有准备好,但可能是你需要的解决方案。
答案 2 :(得分:1)
有几种选择:您可以使用Firefox的插件API并在那里开发您的应用程序。您可以使用HTML,JavaScript,内置数据库,所有浏览器功能并访问操作系统级别。
或者您可以尝试PyQt(Python和Qt),它可以非常快速地编写简单的应用程序。
[编辑]您面临的主要问题是安全性:出于安全原因,JavaScript应用程序(在HTML页面中运行)无法访问本地操作系统资源。因此,除非您的浏览器允许您使用JavaScript编写插件(仅适用于FF AFAIK),否则无法编写使用HTML作为“视图”的应用程序,而无需其他任何帮助。
此外,HTML在应用程序功能方面非常有限。 HTML被设计为“静态文档视图”而不是“应用程序”。你可以做像GMail这样的事情但如果你将GMail与任何真正的邮件应用程序(Outlook,Thunderbird,Notes)进行比较,你会很快发现真正的桌面应用程序提供了更多的功能。
答案 3 :(得分:1)
我不打算嵌入Web服务器。我之前使用嵌入Jetty的Web启动应用程序完成了这项工作。
下载非常快,服务器启动,您可以使用BrowserLauncher立即将浏览器驱动到嵌入式服务器,从而启动应用程序。 Jetty采用模块化设计,占地面积小,因此您可以将其切割成必需品。