是否有用于构建在浏览器中运行的桌面应用程序的开源框架?

时间:2011-05-19 18:23:00

标签: javascript python web-applications frameworks desktop

我有兴趣启动一个开源项目,该项目可以打包为非技术最终用户的桌面应用程序,但可以在浏览器中运行 - 一个现有模型将是Google Refine。我正在寻找一个现有的开源框架来支持这个 - 而不是 UI部分,而是更低级别的应用程序框架,包括:

  • 数据持久性(最好通过某种ORM)
  • 基于桌面的网络服务器(我假设这对支持基于浏览器的用户界面是必要的)
  • 文件系统访问
  • 安全/沙盒(例如,解决运行您自己的网络服务器的XSS / CSRF问题)
  • 支持基本的网络应用元素(例如网址处理,模板)或其他可以处理此问题的网络应用框架
  • 打包项目以进行一键安装(即用户不需要安装Python,节点或其他技术)

我希望找到一个框架,为我设置大量的这个,Django设置Web应用程序的方式 - 而不仅仅是一种支持自己编写这个框架的技术。

我理想的框架是跨平台跨浏览器,并且可以用Python,Java或Javascript编写(在node.js或其他东西上运行)类似)。这样的框架是否存在?

3 个答案:

答案 0 :(得分:4)

您应该能够使用web2py构建一个在浏览器中运行的桌面应用。 Web2py不需要安装或配置,没有依赖关系,并且包含内置Web服务器和SQLite RDBMS(以及数据库抽象层)。 Windows和Mac二进制文件甚至包括Python解释器,因此无需安装Python(您甚至可以通过拇指驱动器运行它)。您可以使用web2py发行版打包您的应用程序,您的用户只需解压缩它,单击一个文件即可启动它,您的应用程序将在其浏览器中启动。您甚至可以将应用程序分发为二进制文件,如here所述。

documentation非常好,如果您有任何疑问,可以提供非常有帮助且反应灵敏的mailing list

如果你想开始玩它,只需download它,解压缩它,然后点击web2py.exe(Windows)或web2py.app(Mac)文件 - 这将启动“欢迎”(脚手架)应用程序在您的浏览器中。如果缺少对您的用例有帮助的东西,请在列表中询问 - 如果更改很简单且有用,则可能会添加。

答案 1 :(得分:3)

查看PyJavascriptCore和PyGTK Webkit实现,它将允许您使用HTML,CSS和Javascript创建应用程序。对于后端,您可以使用Python,因为使用PyJavascriptCore,您可以从Python调用Javascript函数,反之亦然,或者您可以结合使用像Flask这样的WSGI框架来对应用程序的本地服务器执行Ajax调用。

答案 2 :(得分:1)

查看pyjamas