我在C#中完成了一些WinForms工作,但现在必须在.NET(C#)中开发Web应用程序前端.我有使用Ruby on Rails开发Web应用程序的经验(以及使用JSP页面和struts mvc的Java).
我应该直接跳到MVC框架吗?(而不是ASP.net)这是从微软的未来发展方向的角度来看,以及从我自己的升级方面的轻松.
或者如果你愿意,根据我迄今为止的经验,对我来说,MVC与ASP.net的优缺点是什么?
谢谢
如果您需要在非常接近线路的地方工作,那么 MVC 是一个不错的选择。我的意思是,如果您需要对标记进行非常严格的控制;同时可以通过 WebForms 实现;使用 MVC 就容易多了。这对于针对可能具有更丰富的图形体验的公共(例如互联网)受众的应用程序来说很常见。相比之下,如果您正在开发一个内部(例如 Intranet)业务应用程序,其中图形表示并不那么重要,那么 WebForms 具有许多非常好的支持功能,可以让您更快地行动。不要误会我的意思,您可以使 WebForm 应用程序看起来非常非常漂亮,但您放弃了对标记的一些控制。
ViewState 经常出现在这种讨论中。MVC 不会有任何 ViewState,因此在线占用空间会小得多,这在某些时候可以节省速度和带宽成本。缺点是,使用 MVC 制作有状态应用程序可能会更加痛苦。相比之下,WebForms 默认情况下将携带 ViewState,并且本质上更具状态性。这通常适合内部应用程序。请记住,ViewState 不必通过网络发送...有一些扩展允许您将其卸载到本地缓存。我并不是偏袒其中一个,但您应该了解每个人在这方面可以做什么。
如果单元测试对您很重要,那么 MVC 也是一个更好的选择,因为这也更容易。这在 WebForms 中完全可以实现,但需要您正确地设计代码。
安全性并不是一个主要因素,因为 IPrinciple 和 IIdentity 的大部分设置都是通过 HttpModules 在 HTTP 管道中进行的,因此在这方面两者都可以。
做出选择的另一个主要因素与您相对于交付时间的技能有关...如果您不习惯以无状态方式工作或编码标准 Web 技术(例如 html、css、jquery 等)。 .) MVC 会花费你更长的时间来完成非常基本的事情。话虽如此,一旦到位,它可能会更干净、更小、更易于测试且更快。如果您需要快速行动,您可以在 WebForms 中更快地完成很多工作。WebForms 还完成了许多与标记有关的繁重工作,因此您可以将许多细节留给 ASP.NET。
实际上,我出于多种原因使用两者,微软已表示他们计划继续支持和开发两者。
归档时间: |
|
查看次数: |
1062 次 |
最近记录: |