ASP.NET Core is the web framework (development + runtime), which is the next generation of ASP.NET. It is based on .NET Core so that it can be distributed as modular framework.
1. Why New Framework
ASP.NET Core has the following benefits compared with ASP.NET MVC.
- Cross-platform support (macOS, Linux, …)
- Side-by-side versioning – modular distribution
- Light-weight, high-performance (claimed by MS)
- Unified framework for building Web UI (MVC) and Web APIs
2. ASP.NET Core MVC and Web API
Even though ASP.NET Core is rewritten based on a new framework and web stack, it is very compatible with ASP.NET MVC conceptually. All your previous development skills can be used seamlessly.
- Model-View-Controller pattern
- Razor markup
- Model binding
- Model Validation
There are some new concepts and helpers in a new framework.
- Razor Pages: page-based programming mode (new in ASP.NET Core 2)
- Tag Helpers: “asp-” helpers create and render HTML elements in the server-side (@Html helpers in ASP.NET)
- Built-in Dependency Injection
3. Client-side Development
ASP.NET MVC already supports many client-side development (Bundling, Manage Packages, …)
ASP.NET Core integrated with popular client-side frameworks such as Angular and React.
ASP.NET Core is first released in 2016.
- 1.0: 2016 Jun.
- 1.1: 2016 Nov.
- 2.0: 2017 Aug.
- 2.1: 2018 May.
5. What to Choose
ASP.NET Core is new but not a replacement of ASP.NET. If your web application works fine and do not need to run on non-Windows environment, there is no need to upgrade it to ASP.NET Core.
But if you start a new project, consider the ASP.NET Core over ASP.NET.