.NET Framework is a software development framework for building and running applications on Windows.
.NET Framework is part of the .NET platform, a collection of technologies for building apps for Linux, macOS, Windows, iOS, Android, and more.
The .NET Framework is a software development platform that was introduced by Microsoft in the late 1990 under the NGWS. On 13 February 2002, Microsoft launched the first version of the .NET Framework, referred to as the .NET Framework 1.0.
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
There are various implementations of .NET. Each implementation allows .NET code to execute in different places—Linux, macOS, Windows, iOS, Android, and many more.
.NET Standard is a formal specification of the APIs that are common across .NET implementations. This allows the same code and libraries to run on different implementations.
The two major components of .NET Framework are the Common Language Runtime and the .NET Framework Class Library.
The .NET Framework architecture provides an execution environment that integrates a variety of compatible programming languages. In essence, the architecture works like this:
There are several essential components of the .NET Framework, including the Framework Class Library, the Common Intermediate Language and the Common Language Runtime.
The Common Language Runtime (CLR) is the Framework's execution engine. It executes the CIL code by converting it into machine languages. In addition to running the applications, it includes a variety of useful services, including:
The .NET Framework includes a set of standard class libraries. A class library is a collection of methods and functions that can be used for the core purpose.
For example, there is a class library with methods to handle all file-level operations. So there is a method which can be used to read the text from a file. Similarly, there is a method to write text to a file.
Most of the methods are split into either the System.* or Microsoft.* namespaces. (The asterisk * just means a reference to all of the methods that fall under the System or Microsoft namespace).
The Framework Class Library (FCL) provides a variety of APIs and types that provide common functionality across apps. There are APIs for:
The Common Intermedia Language (CIL) stores code created by the source compliers. The compiled code is stored in files with a .DLL or .EXE extensions.
The .NET Framework supports a number of app models for building software applications. The most popular include:
The .NET Framework has become ubiquitous in the programming world, especially in the development of web-based and business applications. It was ranked the "most loved" framework in the 2020 Stack Overflow Development Survey, used by 71.5% of developers in the survey.
This ongoing popularity is because .NET Framework offers multiple benefits to developers, including the following ten:
The .NET Framework works with a wide variety of programming languages, including: C++, C#, F# …
Developers can work in their language of choice and know that it's compatible with the .NET Framework.
Unlike some other frameworks, older versions of .NET Framework are fully compatible with more recent versions. The old code works just fine when .NET upgrades—o modifications are necessary.
Applications built on the .Net framework can be made to work on any Windows platform. And now in recent times, Microsoft is also envisioning to make Microsoft products work on other platforms, such as iOS and Linux.
Another thing that developers like about .NET and the .NET Framework is that they're fast—really fast.
The .NET Framework uses the Common Language Runtime for application memory management. The CLR automatically identifies and closes unused system resources to free up memory at regular intervals.
.NET Framework benefits from decades of use and development. Its reliability in running thousands of custom applications is unsurpassed.
.NET Framework is also easy to deploy. The framework offers a variety of tools developers can use to package .NET applications. When these packages are distributed, they automatically install the application. Most developers use Microsoft’s Visual Studio to code in .NET, but it also works in many IDE and code editors.
The .NET Framework comes with a large class library of pre-tested code that developers can use in their apps. This Framework Class Library helps to increase developer productivity and minimize development time.
Because the .NET Framework enables multiple versions of the Common Language Runtime to run on the same machine, developers can run different app versions side-by-side. This enables a comparison of different versions and eases troubleshooting.
.NET Framework validates apps before granting access to the app or its source code. This results in an extremely secure development environment and apps that are more resistant to malicious actions.