WPF WBA (XBAP) 与 Silverlight

Posted

技术标签:

【中文标题】WPF WBA (XBAP) 与 Silverlight【英文标题】:WPF WBA (XBAP) versus Silverlight 【发布时间】:2010-10-23 02:32:05 【问题描述】:

我正在研究创建一个包含网站的系统/网站。我想获得 WPF 的好处,而 WBA 似乎是一个很好的途径。另一方面,Silverlight 也有利于实现这一目标,不同之处在于 WBA 提供了比 Silverlight 更多的选项和功能。

使用 WBA 与使用 Silverlight 相比有哪些好处/损失? WBA 是否仅在 IE 中支持?

任何见解都会非常有帮助。

【问题讨论】:

我认为 WBA 应该代表"WPF Browser Application"? 【参考方案1】:

Silverlight 是跨平台和跨浏览器的。 WPF WBA 仅适用于 Windows 和 IE。

【讨论】:

【参考方案2】:

我假设 WBA 是指 XAML Browser Application (XBAP),它们是在 Web 浏览器中运行的 WPF 应用程序。

优点总结如下:

XBAP

XBAP 应用程序有完整的 CLR 和整个 .NET Framework 3.0/3.5 可供他们使用,而 Silverlight 应用程序只有简化的 Silverlight CLR 和它自己的 .NET Framework/WPF 的轻量级版本(尽管它不严格称为 WPF 。 只需稍加配置即可在完全信任模式下运行。 (请参阅 this MSDN blog post。)出于显而易见的原因,Silverlight 权限受到严格限制。

银光

可以跨平台运行。 (在 Windows 和 Mac 上使用 Microsoft 官方实施,在 Linux 上使用 Moonlight。Moonlight 对 Silverlight 1.0 的支持是完整的,但对 Silverlight 2.0 仅部分实施。) 可以在所有主流浏览器中运行。 (IE 6/7/8、Firefox 3、Safari。甚至有报道称 Google Chrome 取得了一些成功。)另一方面,XBAP 只能在 IE(使用 .NET 3.0)或 IE 和 Firefox(.NET 3.5)中运行.

【讨论】:

【参考方案3】:

是的,WBA (XBAP) 仅在 IE 和 Firefox(带有plugin)中受支持,并且仅在 Windows 操作系统上受支持。 Silverlight 工具集主要是 WPF 的一个子集,因此使用 WBA,您将可以访问更多工具。看看这个link就可以了。

【讨论】:

【参考方案4】:

我假设您是指带有 WBA 的 XBAP(XAML 浏览器应用程序)?

Silverlight 和 XBAP 彼此非常相似,但它们确实存在一些重大差异。其中最大的原因很可能是 XBAP 在完整的 .Net 框架之上运行,而 Silverlight 使用 CLR 和类库的精简版本。这导致 Silverlight 缺少 WPF 在 XBAP 中提供的一些功能。

另外值得了解的是,XBAP 在技术上是 ClickOnce 应用程序,因此它们会安装到用户的计算机上。这会自动发生,用户不一定能理解 - 但至少对我来说,如果我看到从随机网站加载的 XBAP,我很可能会取消它并转到另一个网站。

XBAP 还需要 IE 或 Firefox 以及为其构建的 .Net 框架。 Silverlight 只需要 Silverlight 播放器,该播放器可用于 IE、Firefox 和 Safari,并可在 Windows 和 OSX 上运行,并且在下载大小方面比完整的 .Net 框架小得多。

也就是说,如果我知道限制不是问题,我更喜欢 XBAP。如果我正在开发一个供 Intranet 使用的应用程序,我会选择 XBAP,因为它提供了更通用的框架。如果要在 Internet 中部署应用程序,我会使用 Silverlight 来覆盖尽可能多的用户。

【讨论】:

以上是关于WPF WBA (XBAP) 与 Silverlight的主要内容,如果未能解决你的问题,请参考以下文章

部署完全信任的wpf浏览器应用程序(XBAP)

如何在 lync cwe 托管的 xbap 中获取当前对话?

wpf 能不能在winxp运行

WPF Content属性值

WPF Content属性值

WPF Content属性值