START PREV NEXT

.NET Framework Architecture

The .NET Framework is the infrastructure for the new Microsoft .NET Platform. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services. This also adds the ability to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts:

·        the common language runtime,

·        a hierarchical set of unified class libraries,

·        a componentized version of Active Server Pages called ASP.NET.

The .NET Framework is language neutral. Currently it supports C++, C#, Visual Basic, and  JScript (The Microsoft version of JavaScript). Third-party languages - like COBOL, Eiffel, Perl, Python, Smalltalk, and others - will also be available for building future .NET Framework applications.

The new Visual Studio.NET is a common development environment for the new .NET Framework. It provides a feature-rich application execution environment, simplified development and easy integration between a number of different development languages.

The common language runtime(CLR) is the execution engine for .NET Framework applications.

It provides a number of services, including the following:

·        Code management (loading and execution)

·        Application memory isolation

·        Verification of type safety

·        Conversion of IL to native code

·        Access to metadata (enhanced type information)

·        Managing memory for managed objects

·        Enforcement of code access security

·        Exception handling, including cross-language exceptions

·        Interoperation between managed code, COM objects, and pre-existing DLLs (unmanaged code and data)

·        Automation of object layout

Microsoft Intermediate Language (MSIL)

MSIL is the CPU-independent instruction set into which .NET Framework programs are compiled. It contains instructions for loading, storing, initializing, and calling methods on objects.

Combined with metadata and the common type system, MSIL allows for true cross-language integration.

Not Interpreted:

Java, JavaScript are interpreted language which means an interpreter is needed to translate the code before execution. In .NET, prior to execution, MSIL is converted to machine code. It is not interpreted, so .NET is claimed to be faster.

Programmers may write applications to the .NET Framework using a number of languages. Each of these languages is compiled to the Microsoft Intermediate Language (MSIL), which is then converted to native code and executed on the CLR. Since each language interacts with code written for the CLR, any application written in any language can interact with any other application written in any other language. With the introduction of the CLR, programmers now have a rich palette of languages from which to choose, helping them select the right language for their skills and for the task at hand.