Silverlight OOB与WPF ClickOnce的区别

5
银光(Silverlight)的离线浏览技术和WPF ClickOnce表面上有相似之处。易于简单部署,能够指定对基础主机的信任级别等。
当我选择其中之一时,需要考虑哪些关键问题?
更明确地说,我将在仅运行Windows计算机的企业网络上部署LOB应用程序。
4个回答

3

首要问题是跨平台兼容性。如果您需要应用程序在Mac和Windows上运行(不确定Linux是否支持Silverlight),则请使用Silverligt。如果您想假设所有用户都在Windows机器上,则选择WPF。

显然,WPF具有比Silverlight更丰富的工具包,因此可能Silverlight并不是一个选项。但是,如果我只是为Windows构建,则知道在WPF中我的工作会更容易。


显然,WPF比Silverlight拥有更丰富的工具包 - 但是从2011年开始,情况已经不再如此。 - MalcomTucker
SilverLight在Linux上由Mono项目支持,称为MoonLight。 - Pieces

3
鉴于您的目标是针对运行Windows的私有基础设施,有两点值得考虑:
  • Wpf具有更丰富的控件树,而Silverlight则是为了紧凑而减少了一些控件
  • Wpf需要在本地安装.Net框架,而Silverlight具有自己的平台无关的基于浏览器的运行时
虽然您的目标平台可能已经安装了最新的.Net框架,使得最后一点变得无关紧要,但请记住任何更新到框架(即.Net4.0和任何未来更新)都可能需要重新启动机器-这是金融业等要求不断保持状态的桌面应用程序的一个主要痛点。
与所有问题一样,您的解决方案应该由您的需求而不是技术来决定。 :)

1

您提到了对主机的信任访问,这使我认为除非您想运行SL4(测试版),否则不适用于Silverlight。

我们最近进行了大量有关文件系统访问的讨论。 Silverlight 3在部分信任沙箱中运行,或多或少地。您不能在应用程序隔离存储之外的文件系统中保留指向文件的指针。对我们来说,这是一个问题,因为我们希望用户能够使用应用程序引用文件系统上的杂项。尽管如此,您可以允许用户从系统上的任何位置加载和保存文件,但您只是获得或推送文件流,并且(据我所知)无法访问文件夹或文件路径信息。

Silverlight 4(测试版)支持应用程序以完全信任模式运行。但是,我还没有使用过它,因此无法评估其功能。


我听到Shawn Wildermuth的演讲,他说Silverlight 4可以在“提升的信任”下运行,这与完全信任不同。我相信你上面提到的很多文件存储方案仍然适用于SL4,但像你一样,我还没有尝试过,无法确认。 - Ben McCormack

1
在与许多同时使用Silverlight和WPF的人交谈时,即使是那些对Silverlight感到兴奋并强烈推动它的人,我也听到很多人非常强调地说,如果您将专门为全信任的Windows环境开发,那么WPF显然是明智的选择。
这并不是说Silverlight是劣质产品或者没有时候Silverlight会成为明显的赢家。但是当你说“我将在仅运行Windows计算机的企业网络上部署LOB应用程序”时,听起来WPF是明显的赢家。
你可以决定走Silverlight路线,预期获得SL4中所有伟大的新OOB功能。我甚至听说过SL和WPF最终将合并,所以这可能并不重要,对吧?嗯,我认为如果你选择Silverlight,你会发现一些你认为存在的高级功能实际上并不存在,或者不是你所期望的方式。例如,SL4将能够在“提升的信任”(而不是完全信任)下运行,您可能会在项目的某个令人沮丧的点上发现这种限制,因为您的代码库已经在Silverlight中了。

当然要关注Silverlight,但对于您当前的业务情况,WPF可能是最合适的选择。


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