What is .Net Framework ?


.Net Framework
  • .Net Framework is a platform that provides tools to develop Windows, Web and Enterprise applications.
  • .NET is a platform but also is defined as a technology because it is composed of several parts such as libraries, executable tools, and relationships and integrates with the operating system. 


It mainly contains two components,

  1. Common Language Runtime (CLR).
  2. .Net Framework Class Library.


1. Common Language Runtime (CLR)

  • .Net Framework provides run-time environment called Common Language Run-time (CLR).It provides an environment to run all the .Net Programs.
  • It also provides an infrastructure that is common to all .NET languages.
  •  This infrastructure is responsible for taking control of the application’s execution and manages tasks such as memory management, access to system resources, security services, and so on.
  • The code which runs under the CLR is called as Managed Code. Programmers need not to worry on managing the memory if the programs are running under the CLR as it provides memory management and thread management.
  • Programmatically, when our program needs memory, CLR allocates the memory for scope and de-allocates the memory if the scope is completed.

Language Compilers (e.g. C#, VB.Net, J#) will convert the Code/Program to Microsoft Intermediate Language (MSIL) intern this will be converted to Native Code by CLR. See the below Fig. 



2.    .Net Framework Class Library (FCL)

  • This is also called as Base Class Library and it is common for all types of applications. 

The following are different types of applications that can make use of .net class library. 

  1. Windows Application.
  2. Console Application.
  3. Web Application.
  4. XML Web Services.
  5. Windows Services.


  • In short, developers just need to import the BCL in their language code and use its predefined methods and properties to implement common and complex functions like reading and writing to file, graphic rendering, database interaction, and XML document manipulations.


3.   Common Type System (CTS)

  • It describes set of data types that can be used in different .Net languages in common.
  • CTS ensures that objects written in different .Net languages can interact with each other.
  • For Communicating between programs system supports two general categories of types:  

Value types:

  • Value types directly contain their data, and instances of value types are either allocated on the stack or allocated inline in a structure.
  •  Value types can be built-in (implemented by the runtime), user-defined, or enumerations.

Reference types:

  • Reference types store a reference to the value's memory address, and are allocated on the heap. Reference types can be self-describing types, pointer types, or interface types. 
  • The type of a reference type can be determined from values of self-describing types. Self-describing types are further split into arrays and class types. 
  • The class types are user-defined classes, boxed value types, and delegates. 

4. Common Language Specification (CLS)

  • It is a sub set of CTS and it specifies a set of rules that needs to be adhered or satisfied by all language compilers targeting CLR.
  • It describes the minimal and complete set of features to produce code that can be hosted by CLR.
  •  It ensures that products of compilers will work properly in .NET environment. 
  • Microsoft has defined CLS which are nothing but guidelines that language to follow so that it can communicate with other .NET languages 

in a seamless manner.

Post a Comment

Previous Post Next Post