The goal of this series is to know in detail about the .NET as a platform & implementation provided by the .NET Platform. We will also learn in detail about features, components, application types supported, programming languages supported, deployment model, version history & much more for each implementation provided by the .NET Platform
In this article, we will learn about the .NET as a platform i.e. its overview, supported implementations & terminology used in .NET.
- Post 1 – Introduction to .NET Framework
- Post 2 – Introduction to .NET Core (.NET 5+)
- Post 3 – .NET Framework vs .NET Core (.NET 5+)
- Post 4 – Migrate from .NET Framework to .NET Core (.NET 6) – Detailed Guide
Table of Contents
.NET Plaftorm Overview
.NET is the common or all-inclusive term for the entire development platform that also includes all the implementations of the .NET. More recently the term .NET was used to refer to the implementation of .NET that includes all .NET Core version (1.x, 2.x & 3.x) and the later versions that drop ‘Core’ from name i.e. .NET 5 & .NET 6
In 2002 Microsoft introduced .NET Framework 1.0 for developing windows based applications and today .NET Framework is at version 4.8 and is still supported by Microsoft
In 2014 Microsoft introduced a new .NET Core 1.0 that was written from scratch to provide characteristics such as lightweight, cross-platform & open-source. The new framework was named .NET Core till version 3.1 and the next version after 3.1 was named .NET 5. The name Core was dropped to signify that now .NET is the main implementation.
.NET Core version 4 was skipped deliberately to avoid confusion with .NET Framework which was at version 4.x. The .NET 5+ (+ sign denotes version 5 and above) and .NET Core refers to the one & same implementation of .NET
With .NET Core Microsoft also introduced .NET Standard as set of APIs that is common to .NET Framework, .NET Core & .NET 5+.
.NET Implementations
Today .NET platform not only just provides .NET Framework but also have added other implementations to suit your requirements & needs. You have to make the right selection for implementation as based on the implementation selected for your code it can run on various platforms like Linux, macOS, Windows, iOS, Android, etc.
Following are the implementations provided by the .NET Platform
.NET Framework – This is the original implementation of .NET and is a development platform provided by Microsoft. The .NET Framework implementation technology can be used to develop applications like web apps, web api, services, desktop apps, Azure Apps, etc. The primary platform for .NET Framework Applications is Windows.
.NET Core (.NET) – .NET Core was developed from scratch and later name changed to .NET from version 5 onwards. It was written from scratch to support features like lightweight, modular, fast and cross-platform. .NET is a free and open-source implementation of the .NET Platform. Supported platforms are Windows, macOS and Linux. This implementation can be used to develop applications like web apps, web api, desktop apps, etc.
Xamarin\Mono – It is a light version of the runtime with a small footprint and is used mainly when a small runtime is required. It is used to power the Xamarin applications on Android, macOS, iOs, tvOS and watchOS.
Universal Windows Platform (UWP) – This implementation of .NET is used for building modern, touch-enabled Windows applications and software for the Internet of Things (IoT). It has the ability to unify the different types of devices that you want to target including Desktops, tablets, phones, and Xbox
The .NET Standard is not an implementation but rather a set of APIs that is a common base for all the implementations of the .NET and is available across all the .NET implementations. The .NET Standard can be used by developers to create class libraries that can work on multiple .NET implementations supporting that specific version of the .NET Standard. E.g. if you develop a class library in .NET Standard 2.0 then it can be used by apps developed on .NET Framework 4.6.1 and .NET Core 2.0 as well as both versions of Framework support .NET Standard 2.0. The aim of the .NET Standard Library is to provide some uniformity in the .NET platform ecosystem.
Apart from .NET standard APIs, each implementation can have its own set of APIs as well that are specific and optimised for the platform that the application is targeting.
Terminology
Term | Explanation |
.NET | .NET is also used as the common or all-inclusive term for the entire development platform |
.NET Framework | This is the original implementation of the .NET Platform |
.NET Core | This is the new framework developed from scratch to provide a new, improved, future-ready framework |
.NET 5 or .NET 6 | .NET Core was renamed to just .NET from version 5 onwards |
.NET 5+ | + sign denotes .NET version 5 and above |
Target Framework | The framework used by the application for development & execution. The latest framework is 4.8 but the application might be targeting 4.7.1 |
framework-dependent apps | The .NET applications require the framework to be already installed on the machine for the execution of the application. |
framework libraries | Also known as runtime libraries or base class libraries (BCL) is a set of APIs and types for the development and implementation of the common functionality in your application. |
Summary
We learned about the brief overview, implementations & terminology of .NET as a platform. It’s time to go into details and learn more about the implementations i.e. .NET Framework & .NET Core.
- Post 1 – Introduction to .NET Framework
- Post 2 – Introduction to .NET Core (.NET 5+)
- Post 3 – .NET Framework vs .NET Core (.NET 5+)
- Post 4 – Migrate from .NET Framework to .NET Core (.NET 6) – Detailed Guide
References – What is .NET Framework? & What is .NET Core?