.NET Core was introduced in 2014 as a response to the issue of a lack of unified framework contracts that can be implemented across different platforms and devices, such as Windows Desktop, ASP.NET. Before .NET Core, each framework and platform was managed independently, with different release cadences, different supported platforms, etc.
Read more about .NET Core’s origins -> Introducing .NET Core
The .NET Standard was introduced in 2016 as a unified collection of specifications that are tailored to have cross-platform implementations as described above. This allows us to use the same stack to develop for many different operating systems and devices.
Read more about .NET Standard’s origins -> Introducing .NET Standard
If you’re wondering what should I use to build my application, start by asking what you want to build:
I want to build… | then I’ll use… |
---|---|
an MVC web app | .NET Core |
an web api | .NET Core |
a native Windows app | .NET Framework |
a mobile Android app | Xamarin.Android |
a mobile iOS app | Xamarin.iOS |
All the above frameworks and runtimes adhere to the .NET Standard