This brief article explores the features and differences in different versions of the ASP.NET MVC.
Introduction and background
ASP.NET MVC has become a de facto for web development
on .NET platform. It is embraced by industry with aplomb and most of web
applications are programmed with ASP.NET MVC. Just to reiterate ASP.NET provides
pattern based way of developing web applications, websites and is TDD (i.e.
test driven development) friendly.
The first version was released in 2009 and this was
having only web form engine. As this version is kind of absolute with far more
powerful versions coming after, the versions 2 to 5 are chosen for comparison
purpose.
Description
Following table provides quick comparative analysis
for different features (or attributes) among the ASP.NET MVC 2 to ASP.NET MVC
5. As these data points are self-explanatory, there seems to no need to delve
into more details.
Feature / Abilities / Components
|
MVC2
|
MVC 3
|
MVC 4
|
MVC 5
|
Release Year
|
2010
|
2011
|
2012
|
2013
|
.NET Framework
|
.Net
3.5, 4.0
|
.Net
4
|
4
& 4.5
|
4.5
& 4.5.1
|
IDE
|
Visual
Studio 2008 & 2010
|
Visual
Studio 2010
|
Visual
Studio 2010SP1 & Above
|
VS
2012 & Above
|
Default View Engine
|
Web
forms View Engine (.aspx)
|
Razor
and Web Forms both
|
Improved
Razor Engine
|
|
Multiple View Engines
|
No
|
Yes
|
Yes
|
Yes
|
Chart
|
No
|
Yes
|
Yes
|
Yes
|
WebGrid
|
No
|
Yes
|
Yes
|
Yes
|
Crypto
|
No
|
Yes
|
Yes
|
Yes
|
WebImage
|
No
|
Yes
|
Yes
|
Yes
|
JSON Binding
|
No
|
Yes
|
Yes
|
Yes
|
Entity framework
|
Version
3.5
|
Version
4
|
Version
5
|
Version
6+
|
WebMail
|
No
|
Yes
|
Yes
|
Yes
|
Data Sharing between View and Controller
|
TempData
|
Yes
|
Yes
|
Yes
|
Yes
|
ViewData
|
Yes
|
Yes
|
Yes
|
Yes
|
ViewBag
|
No
|
Yes
|
Yes
|
Yes
|
HTML Layout
|
Master Page
|
Yes
|
Yes
|
Yes
|
Yes
|
Layout Page
|
No
|
Yes
|
Yes
|
Yes
|
JQuery Support
|
Good
|
Better
|
Excellent
|
Excellent
|
Unobtrusive javascript validation
|
No
|
Yes
|
Yes
|
Yes
|
Project Templates
|
HTML 5
|
No
|
Yes
|
Yes
|
Yes
|
JQuery Mobile
|
No
|
No
|
Yes
|
Yes
|
Bootstrap
|
No
|
No
|
No
|
Yes
|
Bundling & Minification
|
No
|
Can
be implemented
|
Yes-
native
|
Yes-
native
|
ASP.NET Identity
|
No
|
No
|
No
|
Yes
|
Support for OAuth & OpenID
|
No
|
No
|
Yes
|
Yes
|
Authentication Filters
|
No
|
No
|
No
|
Yes
|
Filter Overrides
|
No
|
No
|
No
|
Yes
|
Attribute Routing
|
No
|
No
|
No
|
Yes
|
ASP.NET Web API
|
No
|
No
|
Yes
|
Yes
– version 2.0
|
Asynchronous Controllers
|
Yes
|
Yes
|
Yes
|
Yes
|
Task Support for Asynchronous
Controllers
|
No
|
No
|
Yes
|
Yes
|
Scaffolding
|
No
|
No
|
Yes
|
Yes
|
Tools support e.g. Nuget
|
No
|
Yes
|
Yes
|
Yes
|
Support for the Windows Azure SDK
|
No
|
No
|
Yes
|
Yes
|
Session-less Controller
|
No
|
Yes
|
Yes
|
Yes |
All this data is summarized in the tabular format for easy read and quick reference. With ASP.NET MVC 5, there are really useful additions like identity management, bootstrap, easy templates for authentication etc.
Conclusion
This is compilation of information available on the
internet.
Many a times knowing the history or progress of tools
and technologies can be helpful to understand the rationale, purpose behind the
technologies. Such information can be also useful to choose the right version
given the need of client, project and available toolset. This brief article can
fulfill these needs and hope this would also help as a quick reference for
developers, architects.
Reference
http://www.asp.net/mvc
EF versions http://msdn.microsoft.com/en-US/data/ee712907#versions