The History of ASP - Net MVC
The History of ASP - Net MVC
There have been 3 major official releases, and 1 small tool update.
Obviously, the MVC concept, with the streamlined processing pipeline and the
separation of the processing of the request (in the Controller) and the rendering
of the output (in the View)
The concept of routing (then made into the official framework)
Lightweight helpers for rendering HTML tags
Ajax helpers to easily ajaxify links and forms
Automatic binding of posted forms to .NET objects and a kind of model validation
This was a huge step toward a new web, but the first release needed a bit too much
of infrastructural development in order to be productive in enterprise scenarios
and in big applications. Luckily ASP.NET MVC was the first Microsoft product to
really be extensible. Most of the core components could be extended or even totally
replaced with your own implementation: for example, Dependency Injection was not
supported, so you had to developed your own custom controller factory to create
controllers based on a IoC container. Also there was no default model
implementation in ASP.NET and people expecting something like RoR were a bit
disappointed.
ASP.NET MVC v2
The following year, same timeframe (MIX 2010), the second version of the framework
came out. The theme of this update was enhancing productivity and making
maintenance easier in bigger applications:
ASP.NET MVC 3
At the beginning of the year, less than a year after the previous version, version
3 was released, together with a bunch of other pretty interesting tools, like
NuGet, IIS Express and SQL Server Express.
Service Locator
Dependency Resolver
Filter Provider
IValidatableObject
Additionally, a new "New Project" dialog that allows you to choose different
project templates as base for your ASP.NET MVC 3 application was introduced. It
includes the usual template (with user management and login pages) but is open for
including other project templates very easily.
They integrated the great MvcScaffolding into Visual Studio, to easily create
controllers and CRUD views based on the model
Libraries included by default (jQuery, jQuery UI and modernizer for example) are
included as NuGet packages so that they can be easily upgraded
Entity Framework CodeFirst is included as default data access library in the
default project template
The default template is HTML5 enabled (if a checkbox is selected, views will have
the semantic HTML5 tags)
With this last update ASP.NET MVC finally had a default implementation of the M
part of the pattern: Entity Framework CodeFirst with automatic creation of the DB
schema, attributes for data validation and editing, and scaffolding for the
automatic generation of CRUD actions and views.
I hope you found this little excursus useful and if you think I missed anything
important, please don�t hesitate to add a comment.