我的团队正在考虑使用ASP.NET MVC框架构建我们的下一个Web应用程序.我还有一些犹豫,因为它仍然只在测试阶段.我真的很想潜水,因为它似乎是一个很好的方式来提供明确的关注点,提高可测试性.
我现在应该摔倒了,而MVC还是测试版,还是暂停发行候选人?
从一些答复中,我想我需要澄清一下我的问题.我最关心的是是否使用仍然处于测试阶段的产品,而不是webforms vs. mvc.关注的主要原因在于我们最终在最终版本中使用beta版本中的某些功能被更改/不推荐/不支持.
但是,我非常欣赏webforms与mvc的观点.这不是我问题的核心.
解决方法
这是一个非常简单的决策树,真的.
选择ASP.NET MVC如果你…
>深切关注URL
>深切关注你的HTML
想要真正的分离问题
>想通过和通过可测试性
>想要查看引擎的灵活性(ASPX,NVelocity,NHaml等)
选择WebForms如果你…
享受WebForms的有状态抽象(ViewState)
>不要介意PostBack模型
>喜欢您可以在页面上“拖放”的组件
对我来说,答案将是99%的ASP.NET MVC,因为我认为这是一个更好的匹配的网络.我认为ajax的故事也比较清洁,我完全控制了我的HTML&网址.除此之外,我可以很容易地测试驱动我的网站(控制器).
是的,我知道您可以在WebForms中实现干净的URL,并且您可以通过控制适配器使用干净(呃)HTML,并且您可以使用WebForms中的MVP模式来实现一定程度的可测试性,但这些都是不成功的路径方法.使用ASP.NET MVC这个东西就是核心.这就是你这样做的方式.
不用担心预览/测试状态.团队一直认为,您不需要执行许可即可部署(即使现在提供一个).它在现有的ASP.NET运行时是纯粹的添加剂.
这就像自动与手动传输.选择一个让你快乐和运行它.