2012-10-05 71 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