2012-10-05 32 views
1

我正在用Backbone.js构建一个web应用程序(尽管如此我还没有绑定到Backbone)。我只需要一个后端框架来通过RESTful API持久化数据库。但是,我还需要能够将其部署为脱机使用的“桌面”应用程序,即运行本地服务器并启动浏览器窗口,但我不希望用户必须从命令行启动服务器运行该应用程序。带有用户友好桌面部署的Web框架?

我可以使用SQLite作为数据库,因为它只是一个用户应用程序,它只是我坚持的框架。我已经看过了以下内容:

  • Rails和Django的:默认的Web服务器是太脆弱,需要Ruby/Python和命令行运行。我知道Bitnami的堆栈,但是在99mb的时候,它有太大的依赖性,并且对用户来说并不完全隐藏。
  • Sproutcore:从命令行运行,也太笨重。
  • 睡衣桌面 - 取决于MSHTML,我怀疑它限制了我使用HTML5功能的能力。

我倾向于创建一个启动Scala/Lift服务器实例并打开Web浏览器,然后坐在系统托盘(有点像WAMP)的Java应用程序。是否有人熟悉为便于用户部署而构建的工具或框架作为独立的桌面应用程序?

回答

0

的web2py具有独立部署到桌面的功能与Python中没有依赖性:http://web2py.com/books/default/chapter/29/14#How-to-distribute-your-applications-as-binaries

正如Eydun说,phpdock是一个选项,但它的商业许可。

我决定使用Java/Spring/H2/Hibernate/Jetty。我发现Jetty非常快地提供请求,因此应用程序在浏览器中启动时看起来是实时的。有关于嵌入码头服务器here的教程。我想构建一个启动服务器和浏览器的GUI是相当简单的。

另一个Java选项是使用Play Framework,这对于那些来自Django/Rails背景的人来说可能更为家庭。然而,Play 2.0+的"creating a standalone version of your application"文档表明,他们已经使用Java EE容器(Tomcat/Jetty)和WAR文件放弃了,以支持使用捆绑的JBoss Netty副本运行JAR,因此可能需要一些工作让它按照你想要的方式运行。

如果您使用/学习Scala,我会推荐Play框架方法。

1

我不知道PHP是否适合您?那么我会推荐phpdock