Java Web应用程序作为桌面应用程序,我应该选择哪些框架?

时间:2010-08-18 11:09:25

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

我需要创建一个Web应用程序,我可以在客户端PC上安装为桌面应用程序(数据库,jetty + war,firefox / chrome / sth portable)。

该应用程序是一个非常大的搜索应用程序(我必须使用Lucene)。只有少数屏幕,搜索队列中的某些依赖项等。

现在我需要帮助选择正确的组件。申请必须是:

  1. Light - 简约且用户友好的框架(Java + JavaScript)
  2. 高效 - 在旧电脑上工作并快速工作
  3. 开发者友好 - 我很乐意写这篇文章;)
  4. 所以我的问题是:

    • 您对选择组件有什么建议吗?
    • 什么框架,什么混淆器?
    • 您对将Web应用程序设置为桌面应用程序有何评论?
    • 主要风险是什么?

3 个答案:

答案 0 :(得分:5)

以这种方式分发的许多Java Web应用程序与轻量级应用程序服务器或Web容器(如Jetty或Tomcat)一起完成。

当您单击以启动应用程序时,这实际上会启动内部托管您的应用程序的容器。 (您的应用程序可以在内部打包为WAR。)

对于轻量级数据库,可能需要查看SQLLite,HSQLDB或Apache Derby。这些也可以与应用程序一起分发。或者,您可以在安装过程中收集数据库凭据,并让客户维护自己的数据库。

您描述的安排将涉及工作和自定义脚本。您将遇到创建瘦,多用户,Web应用程序然后丢弃主要好处 - 共享单个实例的麻烦。顾客,呃,谁拥有它们! : - )

答案 1 :(得分:2)

也许你可以看看Google's GWT。您可以编写Java代码,然后将其“编译”为JavaScript。使用它感觉就像使用桌面应用程序。 Gmail,Google Wave,...已使用此技术创建。

我认为您甚至不需要Web服务器,但编译结果是纯JavaScript +静态HML页面。如果你然后c reate a Chrome application shortcut它真的看起来像桌面应用程序;)

唯一的问题是,学习曲线最初会有点陡峭,但如果你渴望学习,那么它真的很酷,你可以轻松管理它。

答案 2 :(得分:2)

哈,我在同一条船上。但我有许多屏幕,如普通的网络应用程序。

我的建议是: 1,网络简单,没有框架。由于网页很少,建议使用html + jquery + css; 2,轻量级数据库并不重要。因为mysql确实花费了很少的内存,而且它是用户友好的大型社区。 3,所以请注意你的搜索引擎,以及快乐的编码。