XBAP使用和成熟度问题

时间:2009-10-21 09:55:48

标签: clickonce xbap commercial-application

我们正在考虑将我们的UI迁移到XBAP。 我们选择XBAP虽然知道客户必须预先安装.net,因为我们不是针对大众而是针对企业环境中的IT专业人员, 它是一种保护我们投资的方式(在客户端 - 服务器架构中基于WPF的UI中)并享受Web部署。 但是,我们关注平台/架构的成熟度以及它的采用情况。

您是否知道使用XBAP的任何商业应用程序,您是否有使用它的经验?你能详细说明这种经历吗?

,正如@Murph建议的那样,您是否可以想出更有理由选择clickOnce而不是XBAP(或者反过来)?

5 个答案:

答案 0 :(得分:3)

我一直在做一个XBAP工具,也是为了满足企业内部需求。推出更新非常容易 - 只需更新服务器应用程序版本,客户端将在下次连接时更新。因此,在这方面它与ClickOnce没有什么不同。

我们面临的主要问题是“部分信任”模式,你必须遵守。并且在一些非常意外的情况下出现问题,例如,我们的某些第三方WPF因为使用了WPF位图效果而失败,因为它们使用了GPU着色器,这被系统视为安全违规并被阻止。我不确定ClickOnce是否解决了这类问题。传言是XBAP信任模式在.NET 4中不那么偏执。

否则,我认为没有任何区别。至少XBAP与独立WPF的开发完全相同。 (注意:Silverlight不同,它只使用.NET框架的一个子集,它单独安装并可用于多个平台.XBAP需要Windows平台和.NET Framework 3 +。)

答案 1 :(得分:2)

我们在ClickOnce上取得了很大成功,包括向外部非技术客户推出产品。它易于使用,包括易于集成到我们的自动构建过程中。我们的经验至少还有一个数据点供您在权衡两种替代方案的风险时考虑。

你是对的,XBAP的采用确实非常低。我认为这主要是因为Silverlight对于大多数想要在浏览器中使用WPF / DotNet的人来说更有意义(因为他们的应用程序可以与Silverlight交叉平台)。

答案 2 :(得分:2)

我们开发了一个同时具有桌面和Web实现的应用程序。由于功能几乎相同,我们需要单一的源解决方​​案。该应用程序是CAD应用程序的项目和绘图管理工具。让它在浏览器中运行的最重要原因是该应用程序将用作交换项目数据和图纸的协作工具。

浏览器托管应用程序的问题在于它们在浏览器中运行,因此仅限于适用的规则(如另一个回复中所述,例如新窗口和信任限制)。

由于我们的应用程序主要用于受控Intranet和Extranet,我们认为我们可以使用我们的解决方案进行管理。我们的应用程序完全信任,并使用我们自己的证书签名,这使得生活更轻松。

好处当然是安装后点击(和更新维护)以及允许用户通过网站“在任何地方”(或者您需要.NET和我们案例中的证书)安装应用程序的能力。

我们面临的最大问题与我们可以解决的信任,导航和对话有关。另一个问题是我们的应用程序使用Web服务来访问数据。默认情况下(嵌入式)客户端和Web服务之间的绑定非常困难,但我们也找到了解决此问题的方法。

我们也可以在浏览器外运行我们的应用程序(但是通过浏览器安装它)。但我们的产品所有者目前需要浏览器体验,因为这对用户更有意义。如果您通过网站安装但在浏览器外部运行应用程序,那么浏览器要求的限制就会减少。

答案 3 :(得分:2)

这是一个有趣的事实。在.NET 4.0中,他们为通过ClickOnce部署的XBAP应用程序添加了完全信任的能力。不再需要部分信任。这应该给你一些选择!

答案 4 :(得分:1)

我可能错了,但IIRC XBAP使用ClickOnce作为它的底层部署方法。 [找不到我读到的地方,所以拿一粒盐。]

也就是说,我通过ClickOnce部署运行WPF应用程序取得了巨大成功。如前所述,您将所有文件部署到Web服务器。当您发布更新时,只需将它们复制到您的Web服务器,因为客户端运行应用程序时会提示他们更新到最新的版本,您可以要求更新,或允许它们延迟。

它非常友好,并且不需要浏览器的开销来运行您的应用程序。