Road to MVC

In this blog I am explaining ASP.NET MVC versions from MVC 1 to MVC 4, including what's new in the next version that was about to be released and how they can be useful if you are a .NET developer and you enjoy it. Here we go again folks.

MVC

It's nothing but the modified form of Thing Model View Editor, that was released in 1979.



Basic Functioning

We can present the basic functioning of MVC by combining all three major constraints along with the events. It goes something like this:


Structure / Architecture

The Structure of MVC follows the guidelines of the ASP.NET framework, in the architectural view it goes something like this:



ASP.NET MVC 1 | Overview

The history of ASP.NET is interesting. In Febuary, 2007 Scott Guthrie of Microsoft sketched out the core model of ASP.NET MVC while flying on a plane on his journey to to a conference, in the United States.

At the very start it was merely a simple application, taking a few hundred lines of code, but still the response from the audience and the users was huge and incredible. ASP.NET 1 was expressed at an Austin ALT.NET conference in October 2007 in Redmond, Washington. Scott demonstrates his great work with a group of developers and demanded if they necessitate it and what are their sentiments regarding this. In the response it was a hit; in fact, many people were involved with the original prototype.

Even before the official release, it was clear that ASP.NET MVC was not a standard Microsoft product. The growth cycle was extremely synergistic. There was a total of nine preview releases before the original work came into the moat. Unit test modules are usable and the code shipped under an open source license. In the end the result was the official ASP.NET MVC 1 release (13 March, 2009). The two major parts/modules that the first release consisted of was:

 

ASP.NET MVC 2 | Overview

Developers were in a hurry after the grand success of ASP.NET MVC 1, that's why ASP.NET MVC 2 was released just one year later, in March 2010. There were then several fresh characteristics in second version.

Characteristics
  • Strongly typed HTML helpers
  • Improved Visual Studio tooling
  • Attribute based model
  • Validation for both Client and Server
  • UI helpers
  • Automatic scaffolding
  • Customizable templates
  • API enhancements

There were several pro features presented in that second release that were directly based on developer feedback. These features, value and improvements include the following:

  • Support for partitioning large applications
  • Asynchronous controller support
  • Rendering subsections of a page/site
  • New helper functions
  • API enhancement
  • Many support utilities
  • Extensibility without any code modifications

One of the major aspects of ASP.NET MVC 2 was that there were few breaking changes. Most of the changes were related to the design and model constraints.

ASP.NET MVC 3 | Overview

ASP.NET MVC 3 developed faster than its second release. It took only 10 months after MVC 2. I am lising several features of MVC 3 here.

Features

  • Razor view engine
  • .NET 4 support
  • Data annotations
  • Improved model validations
  • Greater flexibility and control
  • Dependency resolution
  • Global action filters
  • Better JavaScript support
  • jQuery validations
  • JSON binding
  • NuGet Package support
  • Manages dependencies throughout the platform

ASP.NET MVC 4 | Overview

ASP.NET MVC 4 is a framework for building scalable, standards based web applications using well established design patterns and the power of ASP.NET and the .NET framework too.

The MVC 4 release is built on a pretty mature and fixed base and is able to focus on some more advanced and better improved features. These features are described below:

Characteristics

  • ASP.NET web API
  • Display modes
  • Project templates
  • Minifiction
  • Task support
  • Mobile project template using jQuery mobile
  • Bundling
  • Asynchronous controller