我应该在下一次Web应用程序开发中使用WPF还是ASP.NET?

7
我们有一个使用MySQL / PHP / Javascript + JQuery构建的Web应用程序,带有服务器端HTML生成。问题是,公司中的十名软件开发人员都不是PHP专家(我们都是.NET / C#开发人员)。我需要向管理团队提出推荐下一代Web应用程序产品平台使用哪些技术。
我想充分利用公司已经拥有并正在建设的.NET / C#专业知识,因此倾向于推荐一些微软技术。我们不想要客户端插件,也不需要华丽的动画/多媒体,因此我排除了Silverlight。
WPF已经准备好投入主流市场了吗? WPF是否已经取代了ASP.NET? 我该如何在这两种技术之间选择?
我知道这是个大问题...如果有必要,我可以根据您的评论进行细化。
感谢您花费时间。

1
你是指ASP.Net和MVC的比较吗?WPF是桌面应用程序,不是Web应用程序,所以你在比较苹果和橙子。 - Chris Conway
你可以在Web上使用WPF。但是你正在构建一个应用程序,而不是一个网站。http://msdn.microsoft.com/en-us/library/aa480223.aspx - Phill
2
好的,我想这表明了我对此的了解很少。感谢你们澄清了这一点。那么WPF是打算取代Win Forms吗?没关系,我会继续学习的。 - gap
1
不是完全“替代”。仍然可以使用Win Forms。但WPF提供了更好的环境和灵活性,同时能够轻松创建外观更好的应用程序。 - Phill
这是一个具有异构操作系统/浏览器客户端的互联网应用程序,还是一个您完全控制客户端的内部网络应用程序? - vc 74
vc74,以前的版本虽然是异构的,但目前只包含Firefox和IE7,因为客户基础较小,测试团队更小。产品管理团队希望能够自由地向任何人销售它。 - gap
3个回答

27

GregTyler的回答相反,您可以使用WPF作为WPF XAML浏览器应用程序在浏览器中使用。但是这些应用程序与常规的WPF应用程序存在一些限制,因此可能不适合您的需求。

至于是否应该使用ASP.NET或ASP.NET MVC,则需要更多关于您的Web应用程序需求的信息。如果您选择其中之一,则还需要考虑您将使用哪个JavaScript库(如果有的话;例如jQuery非常受欢迎)。

或者,根据应用程序或其UI的复杂性,您不应该仅基于客户端插件原因而忽视Silverlight - 在开发复杂应用程序和进行持续维护方面,Silverlight要容易得多,因此应该从整体上进行决策,而不仅仅是部分因素。


5
XBAP可能不是问题提出者想要的解决方案。请记住,XBAP需要.NET 3.0以及任何应用程序dll文件都安装在客户机上。此外,XBAP应用程序仅适用于Windows XP及更高版本- Mac和其他操作系统不受支持。 - Greg Sansom

3
你有两种选择:使用ASP.NET Web Forms和ASP.NET MVC。WPF在此处没有作用,它是用于桌面应用程序的。ASP.NET和WPF完全不相关。
无论如何,你都必须使用ASP.NET。

3
我强烈推荐使用新的视图引擎Razor来使用.Net MVC。这样可以很好地分离层次,并且可以利用许多前端技术,如jQuery,而不需要Webforms带来的所有重量级控件。
我认为WPF有点像Flash,有时候这是最好的选择,但对于大多数Web应用程序,我建议使用MVC。您也可以轻松地找到支持整个应用程序或仅支持某些应用程序层的支持。

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