Saturday, November 5, 2011

.NET Framework?

The .NET Framework provides a new platform for building applications that are easily

deployed and executed across multiple architectures and operating systems. This portability

is achievable only because of ongoing standardization through the ECMA and ISO

organizations. In this way, the framework offers independence to languages by supplying

an international standard called the Common Language Infrastructure (CLI).

The framework was designed to be installed on top of an operating system and

is divided into two main layers, as shown in Figure 1.1: a runtime environment called

the Common Language Runtime (CLR), similar to the Java Virtual Machine, and a large

library of classes called the Framework Class Library (FCL), which provides the required

services for modern applications.
Applications Development Tools for C#, J#, C++, VB, …

The bottom layer of the .NET Framework contains the CLR. The CLR provides the

runtime services to execute C# programs that have been translated into the CIL. The top

layer encapsulates all services in the FCL for user interface, control, security, data access,

Extensible Markup Language (XML), input/output, threading, and so on. User interface

(UI) services—both Window and Web Forms—support graphic interfaces and server-side

controls, respectively. ASP.NET provides control, security, sessioning, and configuration

for dynamic web pages. Data access by ADO.NET adds XML as an intermediate format for

data and supports connections to datasets using XML caches. The FCL also contains system

classes to manage I/O, execution threads, serialization, reflection, networking, collections,

diagnostics, debugging, and so on.

Applications and development tools are typically layered on top of the .NET Framework.

Visual Studio .NET, in particular, is a good example. It provides an integrated development

environment (IDE) that standardizes support for many programming languages,

including C#, J#, C++, and Visual Basic.

After the standardization of the C# and CLI specifications in December 2001,

Microsoft released the CLR as both a commercial implementation of the CLI runtime

virtual machine and a subset of the FCL. Since then, C# has become the programming

language of choice for developing applications in the .NET Framework. CLR, FCL, and the

C# compiler are all released as part of the .NET Framework Software Development Kit

(SDK), which is freely available from Microsoft at At the time

of this writing, there are other .NET implementations in progress, such as the open-source

Mono and DotGNU projects. All these implementations include a C# compiler that extends

language availability to platforms other than Windows.

The C# code executed on this framework follows object-oriented development practices

defined by the Common Language Specification (CLS). The CLS defines a collaboration

standard between languages and object development practices. Obviously, some older

traditional programming languages, such as COBOL and Fortran, cannot exploit the full

characteristics offered by the CLS. The Common Type System (CTS) of the .NET Framework

represents a standardized set of basic data types that permit language interoperability.

In other words, the CTS defines the rules implemented in the CLR. The CLS supports

a (common) subset of the CTS in order to allow cross-language integration. Therefore,

a CLS-compliant component can be used by applications written in other languages.


No comments :

Post a Comment