我需要创建一个Web应用程序,我可以在客户端PC上安装为桌面应用程序(数据库,jetty + war,firefox / chrome / sth portable)。
该应用程序是一个非常大的搜索应用程序(我必须使用Lucene)。只有少数屏幕,搜索队列中的某些依赖项等。
现在我需要帮助选择正确的组件。申请必须是:
所以我的问题是:
答案 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,所以请注意你的搜索引擎,以及快乐的编码。