1

这不是关于编写 Web 应用程序与桌面应用程序的问题。这是一个关于允许定制应用程序通过使用自定义插件在浏览器中运行的问题,有效地将浏览器用作渲染窗口。

QuakeLive 做到了这一点——它是一个 C++ 应用程序,带有一些额外的代码可以通过浏览器运行。Unity3D 和 Torque 游戏引擎也提供部署选项来做同样的事情。

就个人而言,我对这样一个系统的有用性有点怀疑。但我欢迎其他关于这可能是也可能不是一个好主意的原因的意见。

不确定是否有合适的术语,如果有,请编辑我的标签!

4

1 回答 1

1

这取决于应用程序。我的背景是医学成像,但我要说的适用于许多信息系统客户:

优点:

  • 在应用程序之间构建基于 REST 的集成变得更加容易。管理员可以使用这种类型的集成来构建集成门户。(因此,一个应用程序的案例 ID 可用于启动另一个具有正确上下文的应用程序等)。
  • 理想情况下,用户可以自己安装您的应用程序,按需(如果这真的可能,取决于上下文)
  • 新版本的部署变得更加容易。通常托管技术具有内置的部署。在客户端服务器环境中,这可以为 IT 部门节省大量工作。
  • 您可以为 PC 和瘦 Web 客户端(如电话)设置一个起始 URL。这使用户可以轻松找到您的应用程序。
  • 您可以集中配置客户端。对于独立客户端,您当然可以以某种方式集中配置,但如果您的应用程序是基于 Web 的,您总是可以确定有一个服务器,因此您可以随时使用它。
  • 您可以将本地执行效率低下的工作卸载到服务器上。(减少客户端/服务器之间的往返次数)。

缺点:

  • 每个浏览器供应商都有自己的封装原生代码的模型。没有太多,但这绝对是额外的工作。
  • 您的应用程序必须与托管应用程序“玩得很好”。就像用户关闭浏览器窗口一样,浏览器可能已经规定了何时以及如何要求用户保存。
  • 浏览器的更新可能会破坏您的插件。
  • 系统管理员可能限制了插件的安装,不允许用户按需安装您的应用程序(这在 activex 中经常发生)。
  • 您的用户可能不喜欢将额外代码注入浏览器(周围有很多恶意软件会这样做)
  • 您没有机会在安装前更新先决条件
  • 我真的不相信它只是将现有代码包装在插件框架中。
  • 当服务器关闭时,您的应用程序将不再工作......
于 2010-11-06T21:24:04.140 回答