当前位置:  开发笔记 > 编程语言 > 正文

哪个平台允许更快速的开发,ASP.NET webforms或MVC?

如何解决《哪个平台允许更快速的开发,ASP.NETwebforms或MVC?》经验,为你挑选了4个好方法。

使用webforms或MVC开发是否有明显的生产力提升?



1> Bryan Rehbei..:

在处理ASP.NET MVC与ASP.NET Web窗体的生产力时,请考虑这两个开发人员.

    Generic .NET Developer,具有编写WinForms和WebForms应用程序的丰富经验.

    通用Web应用程序开发人员,可以编写C#代码,但知道HTML,CSS和jQuery/MooTools /等等.

通用.NET开发将是最有效的在原编写代码ASP.NET Web窗体.这是因为他们非常了解事件模型(因为它们在WinForms和WebForms之间进行镜像),并且能够使用此心智模型快速构建网站.

MVC将有一个很大的学习曲线,因为它完全背离了他现有的"网络如何运作"的知识.这些是开发人员在MVC中发现的绊脚石:

必须学习HTML和CSS,以便他们了解正在发生的事情以及事物如何相互作用.

学习javascript以及如何回调服务器以获取ajax.

弄清楚如何维护状态,发现cookie不安全,并且该会话具有某些"陷阱".

通用Web应用程序开发将是最有效的ASP.NET MVC,因为该框架反映了他们是怎么想的Web应用程序-没有活动,没有应用程序的状态等,他们已经知道如何写出好的HTML和CSS使用它的风格,他们知道如何将ajax调用写回服务器.

Web Forms对于这个开发人员来说不是一个好模型,因为它与他现有的"Web如何工作"知识背道而驰.这些是开发人员使用ASP.NET Web窗体找到的绊脚石:

必须花时间试图弄清楚页面生命周期的工作原理.

ViewState会导致很多问题,导致页面膨胀.

通常需要进行大量的HttpRequest黑客攻击来修复某些WebForm控件中出现的所有错误代码.

学习如何处理AJAX回调,而不仅仅是使用他们现有的如何从jQuery调用URL的知识.

我的主要观点是,不同的开发人员将根据他们以前的Web开发经验提供不同的生产力水平.我个人更喜欢ASP.NET MVC,我可以很快地构建一些东西并让它输出我想要的东西.

我是第二类开发人员,我在Ruby on Rails,Django,ASP.NET Web Forms和ASP.NET MVC中编写了Web应用程序(大多数都很小).这3个框架之间的Web开发知识几乎可以互换(除了必须知道托管语言 - ruby​​与python与c#之外).

我发现ASP.NET Web Forms最令人愤怒的事情是它试图开发人员做太多事情(比如应用程序状态,Web事件),代码输出通常不能很好地与Web标准一起使用,Web Forms 2.0是直接绑定到XHTML 1.0 Transitional.与在ASP.NET MVC中编写它相比,任何超出数据库中快速和脏的DataGrid和Form到CRUD行的东西通常会带来更多的痛苦和痛苦.



2> brmore..:

没有.就个人而言,我发现MVC的工作方式更像是我的大脑所做的工作,非常清楚地分离了什么在哪里以及为什么.几个星期后,我用MVC打败了一个完整的原型商务网站,我敢肯定,至少会使用网络表格的两倍.


@chakrit - 我认为你的意思是'grokking' - http://en.wikipedia.org/wiki/Grok

3> Dylan Beatti..:

使用MVC,您永远不会花时间尝试解释为什么ItemDataBound和ItemCommand在您期望它们时不会触发.

如果你认为这会节省你的时间,那么MVC可能适合你.


我听到你了.当您可以在表单上删除网格或某种控件并将其连接到数据源时,WebForms似乎很快.但是当你调试事件并追逐你的尾巴时,很快就会变得痛苦.

4> tvanfosson..:

此时,WebForms更加成熟.我希望,例如,验证(客户端和服务器端)在MVC中有更好的支持.但是,我完全相信,随着时间的推移,这将会有所改善.从我的角度来看,关于MVC的最好的事情是MVC使我的代码更易于测试.我遗留了大量未经测试的WebForms代码,因为它很难测试代码隐藏.现在我可以为所有控制器逻辑编写单元测试.

即使它最终证明MVC有点慢(而且我猜它不会),增强的可测试性将使它值得.最终我会收回那个时间,因为以后会有更少的回头修复错误,未经测试的代码.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有