.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.