我是一名前端人员,他通过在我的代理机构开展各种项目来获取ASP.NET WebForms。
我有一个开发人员的项目,我想使用/学习MVC - 但他认为根本不值得使用MVC。他的观点是MVC的好处被认识到,而且性能不会成为问题,而且最好只是推进WebForms。
该项目是一个网络应用程序,它将为人们提供项目规划工具,创建个人联系人数据库以及他们自己的基本网站。
我个人的感觉是我讨厌WebForms网站带来的所有膨胀 - ViewState,一个巨大的JS文件,缺乏对标记的控制(例如验证控件)。
显然,ASP.NET WebForms链接到资源,但MVC是关于URL结构并解释它们。
经过讨论和研究后,我现在想,由于MVC的转换/学习曲线很大,最好还是继续使用WebForms。
我看着Ryan Singer亲自与RoR MVC合作,我惊讶于一切都在迅速发展。
我是否应该接受现在与WebForms保持更加务实和高效,而不是使用MVC,或者我是否应该找到一种方法来说服我的同事MVC是正确的做法?
答案 0 :(得分:6)
我强烈推荐ASP.NET MVC前端 - 也许需要一些时间才能进入它!但肯定是这样的。例如,如果要回头改变任何东西,它就会更灵活,更容易。
我会在LINQ中使用它,例如,如果您使用的是数据库。
ASP.NET MVC起初可能看起来非常困难,但是一旦你进入它,你可以更快地完成项目。这当然是我的意见。
另一件好事是我们为Test Driven Development建立了良好的支持。
修改 (已添加说明):
一个原因是MVC构建的是3部分模型,视图和控制器。这意味着您可以以良好的方式共享标记中的逻辑。我不会详细介绍如何在这里构建MVC,因为这是它自己的一章! (http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controlle r)的
正如我上面提到的那样,你对TDD有非常好的支持,我个人这样做,我只能因此而使用它。 ASP.NET MVC中的URL路由也非常狂热,我在ASP.NET中错过了很好的支持。 ScottGu写了一篇关于这个的非常好的博客: http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
答案 1 :(得分:4)
MVC是一个很大的学习曲线,因为它与网络表单非常不同。如果您正在与不想学习MVC的其他人一起做这个项目,那么您也可以坚持使用Web表单。你不能教一个不想学习的人,所以你基本上会无所事事地转动你的轮子,你已经有了网络形式的背景,所以你至少要对环境感到舒适和熟悉。进展。
如果您是自己或者愿意学习MVC的团队这样做的话,那么我建议不要去学习性能和工具可用性,而不是学习新的东西,然后转向一个主要的框架。建立在测试驱动开发的概念之上。
Asp.Net MVC是一个非常不同的框架,它有一定的优势,但你也会遇到缺乏经验的缺点,所以你需要有一个项目,你可以花时间,因为你'毫无疑问,在你得到你想要的东西之前,必须重新启动某些东西。你将开始,学习新的东西,让你回到原点,学习新的东西,让你回到原点,泡沫,冲洗,重复。
答案 2 :(得分:0)
仅仅为了教育而学习MVC可能是值得的。它肯定会给前端开发者带来好处,但后端人员也有缺点。但是,对于具有正常客户端工作量的小型项目,它可能是相同的,因此您可以使用该项目来学习新技术。顺便说一下,我也更喜欢Web Forms,因为它是一个更高级别的抽象。
通常你应该选择ASP.NET MVC,当你有很多动画和视觉效果的AJAX重型前端时,对标记的控制很重要。如果您有大量数据输入和窗口小部件样式独立控件,您应该选择Web窗体,因为您可以更好地封装行为。
答案 3 :(得分:0)
选择MVC或Web窗体有100个理由。但鉴于您是一名前端开发人员,您的学习曲线并不像后端开发人员那么多,后者通常对HTML编码知之甚少。
您现有的技能,如JS,CSS和Html将无缝移植到MVC。