Developed by Microsoft, .NET framework is a software development framework designed to run primarily on Microsoft Windows.
This framework was created to help developers build applications more easily that would run on the Windows Platform.
With the first version released in 2002, .NET framework has come a long way since then. The current version running now is 4.7.1.
The .NET framework comes with a huge class library called Framework Class Library (FCL) and enables the use of codes written in several other programming languages.
Some of the languages it supports include C# and Visual Basic. Microsoft’s implementation of C# is strongly integrated with the .NET framework, that is why they are often confused with one another.
Many developers choose to use the .Net framework because it enables them to create form-based applications, web-based applications, and web services
The .NET framework architecture can be illustrated like the following:
- Framework Class Library
- Common Language Runtime
The .Net framework architecture as shown above is based on the following key components;
Common Language Runtime (CLI): The CLI is a platform where .Net programs are executed. Come of the key features of CLI include working with different programming languages, exception handling and garbage collection.
Class Library: As already mentioned above, the .NET framework includes a set of standard class libraries and is called Framework Class Library (FCL)
Language: According to the type of application being built in the .NET framework, below is the broad classification to which they are categorized:
- WinForms: Used for building forms-based application
- ASP.Net: Used for creating web-based applications
- ADO.Net: Used for developing applications that will interact with Oracle or Microsoft SQL Server
Many developers choose to work using the .NET framework and create create .Net based applications because of the following design principles.
Interoperability: The .NET framework has a feature that enables using of code written in other languages. Aside from that it also has an excellent background support. For example, if you developed an application using an older version of the framework, and you tried to run it on a machine with a higher .NET framework version, the application will still run. This is because when Microsoft releases a new version, it ensures that older versions of the framework will connect well with the newer version.
Security: Another great feature of the .NET framework is security. It has an inbuilt security mechanism that helps in validating and verifying applications. The framework enables each application built to explicitly define their security mechanism, and each security mechanism can provide code access or program access to the the user.
Flexibility: Because it is developed by Microsoft, applications built using the .NET framework can be executed or made to work on any Windows platform. Even today, Microsoft is already working on making Microsoft products available and functional on other platforms, such as Linux and iOS.
Ease of Deployment: The .Net framework contains tools that are used to package applications developed using the .Net framework. These packages are then sent to client machines, and once the package has been distributed successfully, it will automatically install the application. Deployment using the .NET framework is such a breeze.
Memory management: The CLR or Common Language Runtime performs memory management for the .NET framework. Therefore, it has the capability to see resources that are not being used by a running program, and eventually release them accordingly. This is done using a program that runs as part of the .NET framework called “Garbage Collector”.