Silverlight OOB vs WPF ClickOnce

Silverlight OOB vs WPF ClickOnce,wpf,silverlight,clickonce,silverlight-oob,Wpf,Silverlight,Clickonce,Silverlight Oob,Silverlight出浏览器技术与WPF ClickOnce在表面上有相似之处。简单易用的部署,能够指定对底层主机访问的信任级别,等等 在选择一个问题时,我需要考虑的关键问题是什么? 为了更好地说明这一点,我将在仅运行windows计算机的公司网络上部署LOB应用程序。最大的问题是跨平台兼容性。如果您需要在mac和windows上运行应用程序(不确定Linux是否支持Silverlight),请使用Silverlight。如果您想假设您的所有用户都将在windows计算机中,那么就使用WPF

Silverlight出浏览器技术与WPF ClickOnce在表面上有相似之处。简单易用的部署,能够指定对底层主机访问的信任级别,等等

在选择一个问题时,我需要考虑的关键问题是什么?
为了更好地说明这一点,我将在仅运行windows计算机的公司网络上部署LOB应用程序。

最大的问题是跨平台兼容性。如果您需要在mac和windows上运行应用程序(不确定Linux是否支持Silverlight),请使用Silverlight。如果您想假设您的所有用户都将在windows计算机中,那么就使用WPF


显然,WPF的工具包比silverlight丰富得多,所以silverlight可能不是一个选项。如果我只是为windows构建,尽管我知道我的工作在WPF中会更容易。

鉴于您的目标是运行windows的私有基础设施,有两点值得考虑

  • Wpf有一个更丰富的控制树,而Silverlight是一个精简集,用于紧凑的大小
  • Wpf要求在本地安装.Net framework,而Silverlight有自己的独立于平台的基于浏览器的运行时
虽然您的目标平台可能安装了最新的.Net framework,这使得最后一点毫无意义,但请记住,对该框架的任何更新[即.Net4.0和任何未来的更新]都可能需要重新启动计算机-这是要求在有状态桌面上使用常量的企业的一个主要痛点[金融业的任何行业,如银行和贸易业]



与所有问题一样,您的解决方案应该由您的需求而不是技术来决定。:

您提到了对主机的信任访问,我认为这排除了Silverlight,除非您想运行SL4(测试版)

我们最近讨论了很多关于文件系统访问的问题。Silverlight 3或多或少运行在部分信任沙箱中。在应用程序的独立存储之外,您无法在文件系统中维护指向文件的指针。这对我们来说是一个问题,因为我们希望用户能够使用应用程序引用零碎的文件n您的文件系统。也就是说,您可以允许用户从系统上的任何位置加载和保存文件,但您只需获取/或推送文件流,并且(据我所知)无法访问文件夹或文件路径信息


Silverlight 4(测试版)支持您的应用程序在完全信任模式下运行。但我还并没有玩过这个,也不能说它的工作情况如何。

在和许多同时使用Silverlight和WPF的人交谈时,甚至是那个些对Silverlight感到兴奋并大力推动它的人,我听到很多人相当强调地说,若您是gWPF将专门为完全信任的Windows环境开发,这是显而易见的选择

这并不是说Silverlight是一个劣质产品,也不是说Silverlight将不会成为明显的赢家。但当你说“我将在一个只运行windows计算机的公司网络上部署LOB应用程序”时,听起来WPF显然是胜利者

你可以决定沿着Silverlight的路线走下去,期待所有新的OOB功能os SL4。我甚至听说SL和WPF最终会合并,所以这可能并不重要,对吧?好吧,我想如果你使用Silverlight,你会发现一些你认为没有的高级功能例如,SL4将能够在“提升信任”(而不是完全信任)下运行,您可能会在项目中的一个令人沮丧的地方发现这一限制,因为您的许多代码库已经在Silverlight中


当然,请关注Silverlight,但对于您当前的业务案例,WPF可能是最合适的。

我听到Shawn Wildermuth的一次谈话,他说Silverlight 4可以在“提升信任”中运行这与完全信任不同。我相信您上面提到的许多文件存储方案仍然适用于SL4,但和您一样,我还没有玩过它,也无法确认。“显然WPF的工具包比silverlight丰富得多”-从2011年起,情况就不再如此了。SilverLight在Linux中由名为MoonLight的Mono项目支持。