Thursday 11 August 2011

What is the .NET architecture?

What is the .NET architecture?

Microsoft .NET consists of four major components:
  • Common Language Specification (CLS) – blue in the diagram below
  • Framework Class Library (FCL) – red
  • Common Language Runtime (CLR) – green
  • .NET Tools – yellow

.NET Architecture

At the base of the diagram in gray is the operating system, which technically can be any platform but typically is Microsoft Windows 2000 or greater, accessed through the Win32 API (Application Programming Interface).

Common Language Specification (CLS)

The CLS is a common platform that integrates code and components from multiple .NET programming languages. In other words, a .NET application can be written in multiple programming languages with no extra work by the developer (though converting code between languages can be tricky).
.NET includes new object-oriented programming languages such as C#, Visual Basic .NET, J# (a Java clone) and Managed C++. These languages, plus other experimental languages like F#, all compile to the Common Language Specification and can work together in the same application.

Framework Class Library (FCL)

The FCL is a collection of over 7000 classes and data types that enable .NET applications to read and write files, access databases, process XML, display a graphical user interface, draw graphics, use Web services, etc. The FCL wraps much of the massive, complex Win32 API into more simple .NET objects that can be used by C# and other .NET programming languages.

Common Language Runtime (CLR)

The CLR is the execution engine for .NET applications and serves as the interface between .NET applications and the operating system. The CLR provides many services such as:
  • Loads and executes code
  • Converts intermediate language to native machine code
  • Separates processes and memory
  • Manages memory and objects
  • Enforces code and access security
  • Handles exceptions
  • Interfaces between managed code, COM objects, and DLLs
  • Provides type-checking
  • Provides code meta data (Reflection)
  • Provides profiling, debugging, etc.

.NET Tools

Visual Studio .NET is Microsoft’s flagship tool for developing Windows software. Visual Studio provides an integrated development environment (IDE) for developers to create standalone Windows applications, interactive Web sites, Web applications, and Web services running on any platform that supports .NET.
In addition, there are many .NET Framework tools designed to help developers create, configure, deploy, manage and secure .NET applications and components.

No comments:

Post a Comment