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

8
我需要制作一个网络应用程序,可以安装为客户端PC的桌面应用程序(包括数据库、Jetty+war、Firefox/Chrome等便携式浏览器)。
该应用程序是一个相当庞大的搜索应用程序(必须使用Lucene)。仅有少量屏幕和一些在搜索队列中的依赖项等。
现在我需要帮助选择正确的组件。应用程序必须满足以下要求:
  1. 轻便 - 最小化且用户友好的框架(Java + JavaScript)
  2. 高效 - 在旧PC上工作,并且运行速度快
  3. 开发人员友好 - 希望能够愉快地编写它 ;)
所以我的问题是:
  • 您有关于选择组件的建议吗?
  • 哪些框架、混淆器可供选择?
  • 您对将Web应用程序制作为桌面应用程序有何评论?
  • 主要风险有哪些?

1
程序混淆的第一条规则:不要这样做。程序混淆的第二条规则(仅适用于专家):暂时不要这样做。 - Thorbjørn Ravn Andersen
3个回答

5
许多采用这种方式分发的Java Web应用程序都是与轻量级应用服务器或Web容器(如Jetty或Tomcat)一起完成的。
当您单击启动应用程序时,实际上是启动了容器,该容器在内部托管您的应用程序。(您的应用程序可以作为WAR包内部打包。)
对于轻量级数据库,可能需要考虑SQLLite、HSQLDB或Apache Derby。这些也可以与应用程序一起分发。或者,您可以将数据库凭据作为安装过程的一部分收集,并让客户维护自己的数据库。
您描述的安排将涉及工作和定制脚本。您正在努力创建一个轻量级的多用户Web应用程序,然后放弃主要优势——共享单个实例。顾客啊,谁会有他们呢! :-)

2
也许你可以看一下Google's GWT。你可以编写Java代码,然后它会将其“编译”为JavaScript。使用它感觉像使用桌面应用程序。Gmail、Google Wave等都是使用这种技术创建的。
我认为你甚至不需要一个Web服务器,但编译后的结果是纯JavaScript + 静态HTML页面。如果你创建一个Chrome应用程序快捷方式,它看起来就像一个桌面应用程序 ;)
唯一的问题是最初的学习曲线可能会有点陡峭,但如果你渴望学习,那真的很酷,而且你可以轻松地管理它。

对于新应用来说是个好点子,但这已经是一个实现过的应用程序了。关于服务器:你需要一个Web服务器来处理真正的数据操作(但它可以是任何东西)。 - helios

2

哈,我和你一样。但我有许多像普通 Web 应用程序一样的屏幕。

我的建议是: 1、轻松上手 Web 开发,不需要框架。因为网页很少,建议使用 HTML+jQuery+CSS; 2、轻量级数据库并不重要。因为 MySQL 占用的内存很少,而且它用户友好,拥有庞大的社区; 3、所以请关注您的搜索引擎,愉快地编码吧。


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