Header Ads

DotNet Framework - Introduction

What is a framework ?

In terms of software, a framework is set of reusable libraries or classes for software system. Designers of software frameworks aim to facilitate that designers and programmers totally focus their time and efforts on meeting software requirements rather than thinking more on low-level detail of providing functonality and thus reducing development time.

One dont have to always think about implementation logic,just use framework which provide appropriate API's and get the work done.The framework designers and developers have already written code for us.So this is how we reuse the code.Since we dont spend time thinking on implementation logic we save time and can develop faster.

.Net framework is one such framework built by Microsoft for developing applications for Windows platform. We can develop different types of applications using .NET framework. This framework consists of API's and classes using which we can develop rich applications.

Evolution of .NET framework :

Microsoft has different vaersions of framework such as 1.0, 1.1, 2.0, 3.0, 3.5 and now recently launched is 4.0.

Microsoft have its own Integrated Development Environment(IDE) to develop .NET applications called as Visual Studio .NET(VS .NET).

Microsoft released its first .NET framework 1.0 in the year 2002 along with Visual Studio .NET 2002, the second revised version of .NET framework was released in the year 2003 and was known as .NET framework 1.1 with Visual Studio .NET 2003, then came .NET framework 2.0 in the year 2005 with VS.NET 2005, .NET framework 3.0 was released in the year 2006, in the year 2007 Microsoft released .NET framework 3.5 with VS.NEt 2008, recently .NET framework 4.0 was released with VS.NET 2010.

.NET framework architecture :-

.NET framework is madeof following modules:-

1. CLS (Common Language Specification)
2. CTS (Common Type System)
3. Framework Class Library (FCL)
4. Common Language Runtime (CLR)

CLS :-

As we know that .net supports many language, also note that program written in any of these language can interoperate with another. Now CLS specifies the specifications which each .net supported language must follow so that they can interoperate.

For example all of us aware of VB.NET, have u ever wondered why is it called VB.NET ?? Its because we are using VB language and develop applications using .NET framework.

In short CLS are common specifications or rules that each .NET supported language must follow while developing applications using .NET framework. Programs written in any .net supported language can interoperate with each another.

Suppose one module can be done in vb and the another module can be done in c# then both the language and there methods declaring in different way,means in VB and C# declaring any variable both are in different way, so inorder to interoperate these programming languages follow CLS specifications
and cls has a task to provide a common platform.

CTS :-

Common Type Subsystem is subset of CLS. As .net supports many languages,each langauge is going to have its own datatypes.

CTS define rules that languages must follow, which helps ensure that objects written in different languages can interact with each other.

The CTS also defines the rules that ensures that the data types of objects written in various languages are able to interact with each other.

CTS defines all of the basic types that can be used in the .NET Framework and the operations performed on those type.

All this time we have been talking about language interoperability, and .NET Class Framework. None of this is possible without all the language sharing the same data types. What this means is that an int should mean the same in VB, VC++, C# and all other .NET compliant languages. This is achieved through introduction of Common Type System (CTS).

In order that two language communicate smoothly CLR has CTS (Common Type System).
For example in VB you have "Integer" and in C++ you have "long" these datatypes are not compatible so the interfacing between them is very complicated. In order to able that two different languages can communicate Microsoft introduced Common Type System. So "Integer" datatype in VB6 and
"int" datatype in C++ will convert it to System.int32 which is datatype of CTS.

FCL :-

FCL is huge library of of reusable types meant to be used by the code executed by the CLR. It is object oriented library. It consist of classes,interfaces,value types that help in speeding up of development process. These FCL is CLS compilant and so they can be used from one language to another language whose compiler is CLS compilant,thus leading to interoperability in languages.

CLR :-

CLR is very important component of .NET framework,its also called as heart of .NET framework.
CLR does provides functionalities like memory management,execption handling,debugging,security,thread execution.code execution,code safety,code verification,compilation.

Code executed by CLR is called managed code. CLR compiles the code to intermediate language called IL, which is just like byte code in java, which is CPU independent.

Then the IL is converted to CPU specific code by the Just-in-Time compiler called JIT compiler.

No comments:

Powered by Blogger.