WPF WBA(XBAP)与Silverlight

Cod*_*313 17 .net browser silverlight wpf xbap

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

使用WBA与Silverlight有什么好处/损失?是否仅在IE中支持WBA?

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

Mik*_*nen 30

我假设您的意思是使用WBA的XBAP(XAML浏览器应用程序)?

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

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

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

这就是说,如果我知道限制不是问题,我更喜欢XBAP.如果我正在开发一个内部网使用的应用程序,我将使用XBAP,因为它提供了更多功能的框架.如果要在互联网上部署应用程序,我会使用Silverlight来吸引尽可能多的用户.


Nol*_*rin 11

我假设WBA是指XAML浏览器应用程序(XBAP),它是在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.对于Silverlight 1.0,Moonlight支持已完成,但仅部分为Silverlight 2.0实现.)
  • 可以在所有主流浏览器中运行.(IE 6/7/8,Firefox 3,Safari.甚至有报道称谷歌Chrome浏览器取得了一些成功.)另一方面,XBAP只能在IE(使用.NET 3.0)或IE和Firefox(.NET 3.5)中运行. .