1

我正在使用 Backbone.js 构建一个 Web 应用程序(虽然我还没有绑定到 Backbone)。我需要一个后端框架,仅用于通过 RESTful API 持久化到数据库。但是,我还需要能够将其部署为“桌面”应用程序以供离线使用,即运行本地服务器并启动浏览器窗口,但我不希望用户必须从命令行启动服务器运行应用程序。

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

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

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

4

2 回答 2

1

我不知道 PHP 是否适合您?然后我会推荐phpdock

于 2012-10-09T20:47:43.723 回答
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 非常快地处理请求,因此应用程序在浏览器中启动时看起来是实时的。这里有一个关于嵌入 Jetty 服务器的教程。我想构建一个启动服务器和浏览器的 GUI 非常简单。

另一个 Java 选项是使用Play Framework,对于那些来自 Django/Rails 背景的人来说,它可能更熟悉。但是,Play 2.0+ 的“创建应用程序的独立版本”的文档表明他们已经放弃使用 Java EE 容器(Tomcat/Jetty)和 WAR 文件,转而使用 JBoss Netty 的捆绑副本运行 JAR,所以让它按照你想要的方式运行可能需要一些工作。

如果您可以使用/学习 Scala,我会推荐 Play Framework 方法。

于 2012-10-16T00:45:54.540 回答