WPF WBA(XBAP)与Silverlight的比较

17

我正在考虑创建一个包括网站在内的系统/网站。 我想获得WPF的好处,而WBA似乎是实现这一目标的好途径。 另一方面,Silverlight也可以很好地实现此目标,不同之处在于WBA比Silverlight提供更多选项和功能。

使用WBA与Silverlight相比,有哪些好处/损失? WBA仅受IE支持吗?

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


2
我猜WBA应该是指“WPF浏览器应用程序”(http://msdn.microsoft.com/en-us/library/aa970060.aspx)? - BlueRaja - Danny Pflughoeft
4个回答

30

我猜你指的是 WBA(XAML 浏览器应用)中的 XBAP?

Silverlight 和 XBAP 相似,但它们之间有一些主要区别。其中最大的区别可能是,XBAP 运行在完整的 .Net 框架之上,而 Silverlight 使用精简版 CLR 和类库。这导致 Silverlight 缺少一些在 XBAP 中可用的 WPF 功能。

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

XBAP 还需要 IE 或 Firefox 以及它们所构建的 .Net 框架。而 Silverlight 只需要适用于 IE、Firefox 和 Safari 的 Silverlight 播放器,并且适用于 Windows 和 OSX,其下载大小比完整的 .Net 框架要小得多。

虽然如此,如果我知道限制不是问题,我更喜欢使用 XBAP。如果我正在开发一个内部网络应用程序,我会选择 XBAP,因为它提供了更灵活的框架。如果该应用程序将在互联网上部署,我会使用 Silverlight 来覆盖尽可能多的用户。


11

我理解你所说的WBA是指XAML浏览器应用程序(XBAPs),这些是在web浏览器中运行的WPF应用程序。

其优点可以总结如下:

XBAP

  • XBAP应用程序具有完整的CLR和整个.NET Framework 3.0/3.5可用,而Silverlight应用程序只有缩减版的Silverlight CLR和它自己轻量级的.NET Framework/WPF(虽然严格来说不叫WPF)。
  • 可以通过一些配置以完全信任模式运行。(请参阅此MSDN博客文章。)由于显而易见的原因,Silverlight权限被严格限制。

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)。

2

是的,WBA (XBAP) 只支持 IE 和 Firefox(需要安装插件),且仅适用于 Windows 操作系统。Silverlight 工具集主要是 WPF 的一个子集,因此使用 WBA 会获得更多工具。请查看 此链接 获取更多信息。


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接