在WPF和Silverlight之间进行选择

时间:2010-04-08 17:17:15

标签: asp.net wpf ajax silverlight

我们有一个使用ASP.NET / Ajax开发的现有Web应用程序 我们计划将其移至WPF或Silverlight。

有人可以在生产力,性能,可维护性,权衡,利弊等方面比较这两项技术吗?

另外,我是否还可以了解使用Silverlight而不是ASP.NET / AJAX的优点/缺点?

感谢阅读。

6 个答案:

答案 0 :(得分:4)

如果你使用WPF,它本质上是一个“漂亮的WinForms应用程序”,而如果你去Silverlight,那么你有一个“易于部署和管理漂亮的Web应用程序”。两者内部的代码几乎相同,但这取决于你想要的目标。鉴于您正在更换Web应用程序,Silverlight可能更有意义。

答案 1 :(得分:1)

WPF仅在客户端计算机上安装.NET环境时运行。 Silverlight类似于Adobe Flex(添加到Web浏览器中的插件“运行时”)。

答案 2 :(得分:1)

WPF基本上在桌面环境中运行,Silverlight在基于浏览器的环境中运行。在ASP.Net/AJAX中使用你的应用程序来获取Silverlight。 Silverlight是WPF的子集。因此,大多数事情,如动画,控制模板,数据绑定(数据模板)都可以在Silverlight中完成。我发现使用WPF / Silverlight的一个主要优点是我们可以将UI团队和业务逻辑开发团队分开,以便他们可以同时工作。基本上是决定是使用桌面环境还是使用基于浏览器的问题。

比较性能桌面应用程序与基于浏览器的应用程序相比具有优势。使用表达式混合等应用程序进行UI设计,可以为您的开发提供更大的灵活性。另一个优点是资源。这有点类似于css,但它有一些很好的附加功能来覆盖样式和基于键的样式开发。 如果您希望自己的应用程序基于浏览器,那么我的建议是使用Silverlight,而不是WPF

答案 3 :(得分:0)

如果您希望将其保留为Web应用程序,则应明确选择Silverlight。另一方面,如果您很高兴将其作为可安装的Windows应用程序,那么WPF将是更好的选择。

答案 4 :(得分:0)

如果您使用MVVM模式设计您的应用程序,那么从一个移动到另一个甚至两者都不是很难。您还可以让设计师使用Blend前往城镇,而无需重复代码。

我的建议是使用一个或两个,但使用MVVM模式(复合应用指南在这方面是一个很大的帮助)。

答案 5 :(得分:0)

除了上面所说的内容:根据您是将其开发为WPF应用还是Silverlight应用,您的应用的架构会有所不同。使用Silverlight很可能您将不得不使用RIA服务,并且与WPF相比,您的模型具有不同的概念。 此外,许多人认为Silverlight会崩溃。所以你最好看看Html5