Microsoft has created huge confusion over the naming of their .NET products. We have .NET Framework, .NET, .NET Core, .NET Standard, etc all having .NET in them. In this article we will explain difference between .NET Vs .NET Core, .NET Standard & .NET Framework in detail
Table of Contents
The .NET Framework is a software development framework created by Microsoft that provides a framework for building desktop, web, and mobile applications. It was released in 2002 and has become one of the popular development frameworks.
The .NET Framework consists of two major components. One is the Common Language Runtime (CLR), and the other is the Framework Class Library (FCL). The CLR is responsible for managing the execution of .NET programs. At the same time, the FCL provides a wide range of libraries and APIs for common tasks such as file I/O, network communication, and database access.
It supported various programming languages like C# and Visual Basic.NET.
The .NET Framework supported several development paradigms. Some of the important models are
Windows Forms for building desktop applications under Windows
WPF (Windows Presentation Foundation) framework for building desktop applications with advanced graphics and multimedia capabilities
ASP.NET Web Forms is a web application development framework for building dynamic and interactive web applications with a server-side component model
ASP.NET MVC is a framework that uses MVC (Model-View-Controller) to build web applications.
Apart from the above, Framework also supports WCF, Entity Framework, etc.
Timeline of .NET Framework
|.NET Framework 2.0||2005|
|.NET Framework 3.0||2006|
|.NET Framework 4.0||2010|
|.NET Framework 4.8||2019|
One of the biggest drawbacks of the .NET framework is that it is tied to Windows. The Windows-only approach cost Microsoft dearly. It started losing developers to free open-source products like Java, NodeJS, Python, PHP, etc.
.NET framework has grown too big, become bulky, and had memory management and performance issues.
Hence, Microsoft needed to do something to stop users from leaving its platforms. Therefore, they developed a new framework .NET Core.
.NET Core is a free, cross-platform, open-source platform for developers to build many types of applications.
It is a complete redesign of the .NET Framework. It is cross-platform and no longer tied to the Windows OS. You can also run it on Linux, Mac, etc. .NET Core is an open-source framework maintained by Microsoft and the community on GitHub.
.NET Core has three major versions.
|.NET Core 1.0||2016|
|.NET Core 2.0||2017|
|.NET Core 3.0||2019|
|.NET Core 3.1 (LTS)||2019|
.NET Core renamed to .NET
The .NET Core version 5.0 was renamed as .NET 5.0, dropping the core from its name.
Since then, .NET has had three major releases.
Note that there was no .NET Core 4.0 or .NET 4.0. Microsoft skipped this version to avoid confusing it with .NET Framework 4.x, which is still widely used.
Features of .NET / .NET Core
.NET supports many development scenarios.
Using .NET, you can build
- Cloud-native apps
- Console apps
- Web apps, web APIs, and microservices
- Cross-platform client apps
- Desktop apps
- Mobile apps
- Windows apps
- Windows Desktop apps
- Windows Forms
- Windows WPF
- Universal Windows Platform (UWP)
- Windows services
- Machine learning
- Internet of Things (IoT)
Note that support for WebForms has been dropped from the .NET.
The .NET Standard is a formal specification of .NET APIs intended to be available on all .NET implementations. It defines a uniform set of rules that must be followed across all .NET implementations.
This was developed so as to ensure that the different implementations of .NET look and feel the same on all platforms.
You can read more about .NET Standard here.
ASP.NET Vs ASP.NET Core
ASP.NET is a web development platform built on top of .NET Framework. It is tied to windows
ASP.NET Core is a cross-platform web development platform built on top of .NET/.NET Core.