有没有开源框架可以构建在浏览器中运行的桌面应用?

4 投票
3 回答
1860 浏览
提问于 2025-04-16 17:59

我想开始一个开源项目,目标是制作一个可以打包成桌面应用程序的工具,方便那些不懂技术的用户使用,但这个工具实际上是在浏览器中运行的。一个现有的例子是 Google Refine。我在寻找一个现成的开源框架,这个框架应该能支持我的项目——我需要的不是用户界面部分,而是更底层的应用框架,包括:

  • 数据持久化(最好是通过某种ORM技术)
  • 基于桌面的网络服务器(我想这对支持浏览器界面是必要的)
  • 文件系统访问
  • 安全性/沙盒(例如,解决自己搭建网络服务器时可能遇到的XSS/CSRF问题)
  • 支持基本的网页应用元素(例如,URL处理、模板)或者支持其他可以处理这些的网页应用框架
  • 将项目打包为一键安装(也就是说,用户不需要安装Python、node或其他技术)

我希望找到一个框架,能够为我设置好这些内容,就像Django为网页应用设置的一样——我不想自己去写这个框架的技术。

我理想中的框架应该是跨平台跨浏览器的,并且用Python、Java或JavaScript(在node.js或类似环境下运行)编写。有没有这样的框架存在呢?

3 个回答

1

你可以看看 pyjamas 这个网站。

3

你可以看看 PyJavascriptCore 和 PyGTK Webkit 的实现,这样你就可以用 HTML、CSS 和 Javascript 来制作应用程序。至于后端,你可以选择使用 Python,因为通过 PyJavascriptCore,你可以在 Python 中调用 Javascript 函数,反之亦然。或者,你也可以结合像 Flask 这样的 WSGI 框架,进行 Ajax 调用到应用程序的本地服务器。

5

你可以用 web2py 来制作一个可以在浏览器中运行的桌面应用程序。web2py 不需要安装或配置,也没有任何依赖项,它自带一个网页服务器和 SQLite 数据库(还有一个数据库抽象层)。Windows 和 Mac 的版本甚至包含了 Python 解释器,所以你不需要单独安装 Python(你甚至可以直接从U盘运行)。你可以把你的应用程序打包在 web2py 的分发包里,用户只需解压缩,点击一个文件就能启动应用,应用会在他们的浏览器中打开。你还可以像 这里 说的那样,将你的应用程序作为二进制文件分发。

文档写得很好,如果你有任何问题,还有一个非常友好和响应迅速的 邮件列表 可以咨询。

如果你想开始尝试,直接 下载,解压缩,然后点击 web2py.exe(Windows)或 web2py.app(Mac)文件——这会在你的浏览器中启动“欢迎”(搭建)应用。如果你觉得它缺少什么功能,可以在邮件列表上提问——如果这个改动简单且有用,可能会被加入。

撰写回答