【问题标题】:Selecting web framework for an installable project为可安装项目选择 Web 框架
【发布时间】:2011-05-16 16:18:37
【问题描述】:

我目前正在为客户评估不同的 Web 应用程序框架。我们面临的问题是客户要求将 Web 应用程序作为所有主要操作系统(Windows、MacOS X 和其他 linux 风格)的可安装包交付,这些应用程序将由他们的用户设置,而这些用户可能在技术上不太先进. 由于该项目必须是跨平台的,我想我们可以排除 ASP.NET 并且出于某种原因他们似乎不太喜欢 Java。那么这给我们留下了什么?

为了详细说明我们打算编写的应用程序,它将是现有服务器应用程序之上的基本 UI,我们可以通过 SOAP API 访问它。服务器对世界的看法与我们想要呈现给用户的略有不同,因此 Web 后端必须进行一些数据混洗和缓存,但 Web UI 可能是一个简单的“从列表中选择项目并执行”对他们的事件采取一些 AJAX 吸引眼球的行动。由于我们不直接与数据库对话,ORM 和快速映射数据库模式以查看的能力对我们来说并不是那么重要,因为会有一个在每个客户办公室运行的 Web 服务器和服务器应用程序完成了所有繁重的工作,可扩展性不是什么大问题。我们首先需要解决的主要问题是“可安装”要求。几乎所有其他变量(语言、设计、功能等)都是次要的

【问题讨论】:

    标签: web-applications installation cross-platform web-frameworks


    【解决方案1】:

    您可能想研究一下 Real Studio Web Edition,它可以创建可以安装在 Mac OS X、Windows 和 Linux 上的 Web 应用程序。 Web 应用程序本身是一个编译后的可执行文件,因此您的客户可能更容易安装。

    这是一个非常的新产品(仅在 2010 年 12 月发布并且仍在进行重大更改),因此您应该在考虑之前仔细评估它。

    但它看起来确实可以很好地满足您的要求。

    http://www.realsoftware.com

    【讨论】:

      【解决方案2】:

      任何 Python 网络库都可以。 bottle、CherryPy、web.py 带有内置的 Web 服务器。您只需使用 py2exe(或 Mac 等效程序,Linux 用户可能对“运行”脚本感到满意)打包“服务器”,就可以开始了。 python web 服务器启动后,它启动了一个指向 localhost 的浏览器。很多个月前,我正是用 web.py 做到了这一点。 本来可以更进一步,构建一个单一的站点浏览器——嵌入式 Webkit 或 IE,这很简单。 (注意:Python 只是一个例子——你可以对 Java/Tomcat 等做同样的事情)

      【讨论】:

        【解决方案3】:

        您可以查看web2py——更多详情请参阅this answer

        【讨论】: