代码之家  ›  专栏  ›  技术社区  ›  Ian Nelson

ASP.NETMVC是否使Web表单成为遗留平台?

  •  10
  • Ian Nelson  · 技术社区  · 16 年前

    上周在Mix'09上,最终版本的 ASP.NET MVC 1.0已经发布。

    该框架的一些已知好处包括:

    • 关注点的明确分离
    • 可测试性-支持测试驱动的开发
    • 直观的URL

    现在,微软正小心地将其吹捧为“ASP.NET Web表单的替代品,而不是替代品”,但鉴于上述优势,我想知道:

    1. “经典”ASP.NET Web窗体被视为“遗留”框架需要多长时间?
    2. 如果您现在开始开发一个新的.NET web项目,为什么选择使用web表单而不是ASP.NET MVC产品?
    5 回复  |  直到 16 年前
        1
  •  4
  •   Tommy Hui    16 年前

    然而,一旦该团队在创建在可伸缩性、可靠性和测试能力方面具有更高要求的大型网站方面有了更多经验,那么他们将寻求其他解决方案。在这种情况下,他们会意识到web表单更难进行单元测试。他们还可能会发现ViewState会降低性能,并寻找可能的解决方案。

    尽管MVC具有声明的优势,但不太可能有人会立即或永远将他们的站点转换为使用这个新框架。另外,它需要团队学习新技术,并解决新的bug。团队必须学习新的方法来做同样的事情。例如,使用MVC支持上传文件有多容易?

    正如我最近看到的,没有理由不能同时使用MVC和web表单创建网站。因此,在不久的将来,你可能会看到更多的杂交种。但我怀疑网络表单是否会消失。

        2
  •  3
  •   Michael Stum    16 年前

    请记住,MVC的默认视图引擎仍然使用WebForms。当然,您可以用另一个替代它,但WebForms仍然是它的核心部分。

    而且,不是每个人都喜欢严格控制HTML或路由。这不是我的态度,但有些人只是想用最小的努力完成他们的工作。

    从技术上讲,.asmx文件不也是“旧”模型的一部分吗?我可以肯定地说,很多人不愿意看到他们离开。

        3
  •  2
  •   Ian Nelson    11 年前

    如果我们在过去的七年里一直在呼唤ASP.NETMVC,那么在ASP.NETMVC发布之前就不需要七年了。事实上,并不是每个人都认为有必要这样做。在这七年的大部分时间里,我们中的许多人都在创建复杂的、高度可伸缩的web应用程序。

    我们甚至知道如何使它们可测试,以及如何将表示与业务逻辑和数据访问分离。ASP.NET MVC可能会强制执行这种分离,但我通过使用编码标准和代码审查,并通过说“没有单元测试”和“从UI中获取业务逻辑”来做到这一点。

        4
  •  1
  •   User    16 年前

    我不相信WebForms会退休。

    所以,选择最适合你的。

    P.S.完全放弃WebForms将危及全球众多项目和公司的未来。微软的人不想成为仇恨的对象,也不想成为引发第三次世界大战的导火索。

        5
  •  0
  •   Chad Moran    16 年前

    另一方面,ASP.NET MVC允许以更多责任为代价进行更精细的控制。您可以完全控制HTML,但这意味着您必须自己对输出进行清理/编码。大多数情况下,您的应用程序必须是完全无状态的,对于一些ASP.NET WebForms/Windows WinForms开发人员来说,这有点让他们难以理解。

    我不认为任何一方会主宰另一方,尽管其中一方可能会受到青睐。