ASP.NET MVC is officially in "Beta"

ASP.NET MVC (Model View Controller) is officially in beta. I encourage everyone to go check it out. http://www.asp.net/mvc/ I recently had a discussion about ASP.NET MVC on another site and I asked the question to other software architects and Developers "Is ASP.NET MVC worth looking into?". There replies were as follows:

Yes, yes and yes. and big Yes.

Yes. I will go for it. We do a lot of stuff & its pretty cool.

Certainly, yes!
It is fast and flexible way to build Web UI layer.


Traditional ASP.NET (a.k.a. ASP.NET WebForms) was designed with a event-based pseudo-stateful model to abstract away the difficulties of dealing with the stateless nature of the web (the HTTP Request - Response model).

This decision was mostly a marketing decision to lessen the learning curve of millions of existing Visual Basic developers wanting to develop applications for the web, which had the same basic drag & drop, event-based development experience.

Most (if not all) other web development platforms did not/do not shelter the developer from the stateless nature of the web. Most tend toward a pre-existing presentation layer oriented pattern known as MVC, Model-View-Controller. I won't go into the technical details of the pattern, Wikipedia covers it well.

In response to a subset of developers' complaints about the lack of convenient HTML-level control, frustration with ViewState and the PostBack event model, and difficulty with unit testing WebForms, MS (Scott Guthrie) started development of ASP.NET MVC. This gives developers the option to use the MVC model instead of the WebForms model, giving them lower-level control of the HTML that is output by ASP.NET and also giving them a better seperation of presentation layer vs. business layer.

The word from MS is that WebForms is by no means being replaced by MVC.

It will depend on the project size and type. If you want to create a simple small custom web project, probably you don't need to. Small but mass product like CMS would might need. Long term maintainable enterprise size is absolutely required.
Software architect decision would have an important impact here.


I think it offers a clarity and conciseness that ASP.NET and the page life-cycle does not. In many ways the page life-cycle encourages some bad practives, I think.

It encourages effective unit testing especially with the HTTP context being exposed.

You are given more options around the generation of the markup, although the standard markup is more than adequate. I find it hard going back to traditional ASP.NET.

MVC is one of the design patters, it is my understanding that knowing the design patterns is a part of my job, so this is something every-one is expected to know/understand.

Yes, it is worth using MVC. I hope you believe in test driven development if you do MVC is the way to go. It allows your code to look cleaner and easy to read. Seperating the application flow,data and presentation would help you in the long run.

So check it out.

Until next time...

Comments

Popular Posts