ASP.NET Core: Don't Call it MVC

When Microsoft set about working on a successor to ASP.NET MVC 5, it was originally called ASP.NET MVC vNext, since no exact version number was decided. However, since the current version was 5, this eventually started to be referred to as ASP.NET MVC 6. Simultaneously, Microsoft was working on a lighter-weight version of .NET, which began life as DNX. Again, since the current version of .NET at the time was 4.5, this began being referred to as .NET 5, with the ASP.NET part of the framework subsequently being referred to as ASP.NET 5.

As Microsoft continued development of these components, it quickly became apparent that a paradigm shift was necessary: .NET Framework would need to live on in its own form, and thus was born .NET Core. Likewise, what would become ASP.NET Core was far too different from ASP.NET to be a successor and was broken off on its own.

While the percolation of ideas that resulted in .NET Core and ASP.NET Core is completely understandable, it lead to a disaster in naming. Developers seemed to adopt whatever name it went by at the time they first started working with it, and never moved on from that. It also led to a flurry of articles and blog posts each referencing different names for the same thing, depending on the time they were published. Since the web is forever, new developers getting started with ASP.NET Core are being thrown into this sea of confusion without understanding the history behind it.

Long and short, the proper names are .NET Core and ASP.NET Core. ASP.NET 5 doesn't exist. ASP.NET MVC 6 doesn't exist. While it's unlikely Microsoft will do anything but continue to support ASP.NET MVC 5, if they were to release a new version of that framework, it would be ASP.NET MVC 6, and would have no relationship at all to ASP.NET Core. Additionally, while ASP.NET MVC had a sister framework, Web Api, ASP.NET Core makes no such distinction. There is no MVC or Web Api - just Core. In other words, it's not ASP.NET Core MVC or ASP.NET Core Web Api - just ASP.NET Core.

Hope that helps to clear up some confusion.

comments powered by Disqus