2010-04-08 24 views
2

之间进行选择,我们现有的Web应用程序中使用ASP.NET/Ajax 开发我们正计划将其移动到任何WPF或Silverlight。WPF和Silverlight

可有人请就生产效率,性能,可维护性,取舍,各有利弊等比较这两种技术?

另外,可能我也知道使用Silverlight在ASP.NET/AJAX的优势/劣势?

感谢您的阅读。

回答

4

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

+2

只是为了扩大这个,我会说如果你有疑问,去Silverlight。它具有WPF所具有的大部分功能,甚至可以作为独立应用程序进行安装。 Silverlight缺乏的唯一能力是利用硬件来实现复杂的图形事物(想想3D),尽管使用Silverlight 4,它甚至可以获得一些(并非WPF拥有的)使用GPU的能力。 – Jaxidian 2010-04-08 17:24:03

+0

我完全同意你的看法。Silverlight现在非常热门,微软在不到两年的时间里发布了4个版本!尽管Silverlight实际上是WPF的一个子集,但差距差距似乎越来越小。 – spong 2010-04-08 18:17:48

+0

Silverlight的另一个好处是,如果您在Silverlight 3上实现标准化,那么您的应用程序可能在Windows Phone 7上工作很少(主要是UI布局/大小)。这是巨大的,如果Windows Phone 7成功! – Jaxidian 2010-04-08 18:35:15

0

如果您希望它保持为Web应用程序,您应该明确选择Silverlight。另一方面,如果你很乐意使这个可安装的Windows应用程序,那么WPF将是更好的选择。

1

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

1

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

比较性能与基于浏览器的应用程序相比,桌面应用程序将占据上风。使用表达式混合等应用程序来进行UI设计,这将为您的开发提供更多的灵活性。另一个优点是资源。这有点类似于css,但它有一些很好的附加功能来覆盖样式和基于风格的开发。 我的建议是使用Silverlight,如果你希望你的应用程序在基于浏览器的其他方面去WPF

0

如果你使用MVVM模式来设计你的应用程序,然后从一个移动到另一个,甚至做两个是不是很辛苦。你也可以让设计师使用Blend去镇上,而不用跺脚代码。

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

0

而且对什么上面说:你的应用程序的体系结构将取决于你是否开发它作为一个WPF应用程序或Silverlight应用程序是不同的。使用Silverlight很可能您将不得不使用RIA服务,并为您的模型与WPF比较有不同的概念。另外,许多人认为Silverlight会倒闭。所以你最好看看Html5