asp.net - 哪个平台允许更快速的开发,ASP.NET webforms 还是 MVC?

标签 asp.net asp.net-mvc webforms

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

2年前关闭。




Improve this question




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

最佳答案

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

  • 通用 .NET 开发人员 拥有丰富的 WinForms 和 WebForms 应用程序编写经验。
  • 通用 Web 应用程序开发人员 谁可以编写 C# 代码,但对 HTML、CSS 和 jQuery/MooTools/etc 了如指掌。

  • 通用 .NET 开发人员 在原始 中编写代码效率最高ASP.NET 网络表单 .这是因为他们非常了解事件模型(因为它们反射(reflect)在 WinForms 和 WebForms 之间),并且能够使用这种思维模型快速构建网站。
  • MVC 将有一个很大的学习曲线,因为它完全背离了他现有的“网络如何工作”的知识。这些是开发人员在使用 MVC 时会发现的绊脚石:
  • 必须学习 HTML 和 CSS 以了解正在发生的事情以及事物之间的交互方式。
  • 学习 javascript 以及如何为 ajax 回调服务器。
  • 弄清楚如何维护状态,找出 cookie 不安全并且该 session 具有某些“陷阱”。

  • 通用 Web 应用程序开发人员 将在 中最有效ASP.NET MVC 因为该框架反射(reflect)了他们对 Web 应用程序的看法——没有事件、没有应用程序状态等。他们已经知道如何编写好的 HTML 并使用 CSS 设置样式,他们知道如何编写一个 ajax 调用回服务器。
  • 对于这个开发人员来说,Web Forms 不是一个好的模型,因为它背离了他现有的“Web 工作原理”知识。这些是开发人员在使用 ASP.NET Web 窗体时会发现的绊脚石:
  • 必须花费时间来弄清楚页面生命周期是如何工作的。
  • ViewState 会导致很多问题,导致页面膨胀。
  • 通常必须进行大量 HttpRequest 黑客攻击,以修复某些 WebForm 控件产生的所有错误代码。
  • 学习如何处理 AJAX 回调,而不是仅仅使用他们现有的关于如何从 jQuery 调用 URL 的知识。

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

    我是第 2 类开发人员,我用 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 是直接绑定(bind)到 XHTML 1.0 过渡。与在 ASP.NET MVC 中编写相比,任何超出快速且脏的 DataGrid 和 Form 到数据库中的 CRUD 行的东西通常会导致更多的痛苦和痛苦。

    关于asp.net - 哪个平台允许更快速的开发,ASP.NET webforms 还是 MVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/274709/

    相关文章:

    css - ASP :Panel re-positioning

    asp.net - 如何在LINQ中使用多个order by?

    asp.net - "Too Many Characters in String literal"消息来自哪里?

    asp.net-mvc - 方法的 MVC 可选参数

    asp.net - 在IIS 7和ASP.NET MVC上诊断404错误

    asp.net - 导出功能在 IIS/SSL 网站上的 Zingchart 中不起作用

    asp.net - 使用像 asmx 服务一样的 aspx 页面

    asp.net - 如何查询强类型数据表

    c# - 在哪里设置变量,以便它们在回发时不为空?

    c# - 如何将数据库中的数据随机添加到按钮的文本属性