我们开发了一个具有桌面和 Web 实现的应用程序。因为功能几乎相同,我们需要单一来源的解决方案。该应用程序是 CAD 应用程序的项目和图纸管理工具。让它在浏览器中运行的最重要原因是该应用程序将用作交换项目数据和图纸的协作工具。
浏览器托管应用程序的问题在于它们在浏览器中运行,因此仅限于适用的规则(如另一个答复中所述,例如新窗口和信任限制)。
因为我们的应用程序主要用于受控的 Intranet 和 Extranet,我们认为我们可以使用我们的解决方案进行管理。我们的应用程序在完全信任的情况下运行,并使用我们自己的证书进行签名,这让生活变得更轻松。
好处当然是单击一次安装(和更新维护)以及让用户通过网站“在任何地方”安装应用程序(或者当然您需要.NET 和我们案例中的证书)的能力。
我们面临的最大问题与我们可以解决的信任、导航和对话有关。另一个问题是我们的应用程序使用 Web 服务来访问数据。默认情况下(嵌入式),客户端和 Web 服务之间的绑定非常困难,但我们也找到了克服这个问题的方法。
我们也可以在浏览器之外运行我们的应用程序(但通过浏览器安装它)。但是我们的产品负责人目前想要浏览器体验,因为这对用户来说更有意义。如果您通过网站安装但在浏览器之外运行应用程序,则浏览器要求的限制较少。