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的主要内容,如果未能解决你的问题,请参考以下文章