ASP.NET WebForms或MVC

ASP.NET WebForms or MVC

本问题已经有最佳答案,请猛点这里访问。

复制品:

Should I pursue ASP.NET WebForms or ASP.NET MVC?

我们正在开发一个使用客户机-服务器体系结构的企业应用程序。它基于.NET Framework 3.5,客户端是一个丰富的winfom应用程序,整个系统处于测试阶段。我们需要通过Web公开这个系统的一些功能。当前的桌面客户机应用程序对服务器的调用量最小,但数据传输量相对较高。

目前的基本思想是使用ASP.NET Web窗体或ASP.NET MVC为我们的系统创建一个前端层。我们在ASP.NET MVC方面没有太多的经验,但这项技术看起来非常有趣和有前途(至少对我来说)。

我的问题是:

  • 你什么时候考虑选择Web开发技术?
  • 你能为这样一个场景、Web表单还是MVC?


如果您现在想使用ASP.NET MVC框架(目前是beta版),那么在版本更改时会遇到一些功能会中断的风险。您可能需要将此作为维护问题加以考虑。

ASP.NET MVC框架还要求软件开发人员熟悉模型视图控制器"模式"。如果开发人员不同意如何在三个层之间进行交互,那么会有很多凹坑。

除非有程序员可以使用它,否则您可能会考虑改用Web窗体。有大量的文档和资源可用于Web表单,但MVC框架必须在博客中搜索,而项目主页上只有少量的文档可供使用。

我自己也在开发ASP.NET MVC框架测试版,我可以说到目前为止它非常棒。但它对我来说很有用的原因是我以前一直在修补其他MVC框架,比如RubyonRails。


这些问题总是很难负责任地回答,因为每个项目都是不同的,而且技术选择总是有多种因素。但在我看来,在这种情况下,Web表单是"已知的",而MVC是"未知的",因此在不了解更多信息的情况下,您已经有了一些困难需要克服。

从这个角度来看,天平可能倾向于网络形式。它们是经过考验的,是真实的,规则而不是例外,所以当我理解学习新事物的愿望时,如果你有一个时间表,并且产品需要坚固,它们可能是更负责任的选择。在我看来,你应该同时学习和开发[MVC],这对于个人项目来说是很好的,但是对于企业项目,或者对于任何客户来说,任何项目都会带来麻烦:用一种未知的(或不太知名的)技术来构建项目可能需要50%的时间,甚至更长,甚至更长,而且,假设你不知道不要从第一天就完全摸索出来,你将在这一过程中吸取教训,这可能会增加最终重构的需要,仅仅是因为你的"获得它"是逐渐的,而不是提前的。

因此,如果这是一个重要的项目,并且需要正确地完成,并且您对Web表单很熟悉,并且感觉自己对它们很熟悉,那么答案可能是Web表单。在一些小的,不那么重要的东西上学习MVC。贵公司将感谢您为他们做出正确的选择。:)