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 this article, we will explain the difference between .NET Vs .NET Core, .NET Standard & .NET Framework in detail
Table of Contents
.NET Framework
The .NET Framework is a software development framework created by Microsoft. It provides a consistent 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 three major components.
- Common Language Runtime (CLR). The CLR is the execution engine responsible for managing the execution of .NET applications. It provides features like memory management, Exception handling & security. One of the CLR’s key features is its ability to execute code written in different languages as long as it targets the Common Intermediate Language (CIL), a low-level programming language used by .NET Framework.
- Framework Class Library (FCL). The FCL is a collection of a vast number of libraries and APIs for common tasks such as file I/O, network communication, database access, etc.
- Common Language Specification (CLS) The CLS is a collection of standards that establishes a common set of features that language compilers must provide to maintain compatibility between different.NET Framework-targeting languages.
Microsoft has developed many programming languages, such as C#, F#, J#, VB .Net, etc., that target the CLS. All these programming languages have their own syntax but run on top of the .NET Framework.
Development Models
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 supports WCF, Entity Framework, etc.
Timeline of .NET Framework
Version | Release Year |
---|---|
.NET Framework 2.0 | 2005 |
.NET Framework 3.0 | 2006 |
.NET Framework 4.0 | 2010 |
.NET Framework 4.8 | 2019 |
Drawbacks
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.
The .NET Framework has grown too big, become bulky, and has 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.
In 2019, Microsoft stated that.NET Framework 4.8 would be the final version.
.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. It was later renamed as .NET
Version | Year |
---|---|
.NET Core 1.0 | 2016 |
.NET Core 2.0 | 2017 |
.NET Core 3.0 | 2019 |
.NET Core 3.1 (LTS) | 2019 |
.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.
Version | Release Year |
---|---|
.NET 5.0 | 2020 |
.NET 6.0 | 2021 |
.NET 7.0 | 2022 |
.NET 8.0 | 2023 |
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
- Games
- 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.
.NET Standard
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 to ensure that the different implementations of .NET look and feel the same on all platforms.
You can read more about the .NET Standard here.
ASP.NET Vs ASP.NET Core
ASP.NET is a web development platform built on top of the .NET Framework. It is tied to the windows.
ASP.NET Core is a cross-platform web development platform built using .NET/.NET Core.