What is ASP.NET MVC?

We previously talked about MVC in general, but in this chapter, we will be focusing on using the MVC pattern for building ASP.NET MVC web applications. Microsoft introduced ASP.NET MVC in 2007, with the first stable release being available in 2009. It's worth noting that the MVC implementation is actually open source - Microsoft has released the entire MVC framework under the Apache License 2.0, which allows you to view and modify the framework and even redistribute your changes.

The ASP.NET MVC View Engine

ASP.NET MVC was originally constructed to use WebForms (the original ASP.NET technology) as its views, but in later versions, it has been made possible to easily change the view engine used by ASP.NET MVC to use custom-built engines and Microsoft even developed one, called Razor, which was released together with ASP.NET MVC version 3 in 2011. Today, Razor is the most commonly used view engine, but besides WebForms, several alternative engines have been developed by the community, like Brail, NDjango, SharpTiles and many more. In this tutorial, we will focus on the Razor view engine because it's really good and easy to get started with!

What's the "Core" part?

You have probably already noticed that this tutorial is called the "ASP.NET MVC Core Tutorial", but why Core? The original .NET framework, along with ASP.NET components, was originally released as a closed-source framework in 2002. Later on, Microsoft decided that they wanted to create an open-source .NET framework with support for the major operating systems: Windows, OS X and Linux. They called this the ".NET Core framework" and it was released in 2016, followed by many rapid releases with lots of improvements.

Today, the .NET Core framework is just as stable as the original .NET framework and besides compatibility with more operating systems it also comes with much better performance and a faster release cycle, meaning that you will get access to bug fixes and new features faster than with the original .NET framework. So, unless you need legacy functionality found only in the original .NET framework, you should always go with the .NET Core version!

Summary

Now that you know a bit more about MVC and the .NET flavor of it, move on to the next article so we can discuss how ASP.NET MVC stack up to the original ASP.NET view engine: ASP.NET WebForms.