Inicio / Wikis / Tutoriales / Introducción a la plataforma .NET y Mono - .NET Framework

Introducción a la plataforma .NET y Mono - .NET Framework

(7 opiniones)
27 de Abril de 2006
ASPMicrosoft .Net

2 - .NET Framework

Cuando se habla del .NET Framework, normalmente se hace referencia al conjunto de clases Framework Class Library (FCL). Estás librerías ofrecen un gran número de posibilidades y funcionalidades en el desarrollo de aplicaciones modernas. Para ello dispone de librerías orientadas al manejo de colecciones, XML, comunicaciones, IO, threading, bases de datos…

La FCL se sustenta sobre la pieza fundamental del .NET Framework, el entorno de ejecución, o Common Language Runtime (CLR). Éste es el encargado de realizar la ejecución de las aplicaciones desarrolladas para .NET. En la siguiente ilustración se muestran los componentes que forman la arquitectura del .NET Framework.

.NET Framework

Common Language Runtime

El CLR es el encargado de gestionar la ejecución de las aplicaciones, proveyendo de servicios como compilación JIT, gestión de memoria, gestión de excepciones, depuración, seguridad o gestión de permisos.

Servicios CLR

Para entender cómo funciona el CLR conviene entender como funcionan los compiladores que generan código para el .NET framework, a diferencia de los compiladores tradicionales. Los compiladores tradicionales, partiendo de los fuentes de una aplicación en un lenguaje concreto, producen archivos binarios que contienen las instrucciones correspondientes a la plataforma en la que se quiera utilizar el programa compilado. Sin embargo, los compiladores para la plataforma .NET, partiendo de los fuentes de la aplicación generan archivos binarios que contienen una representación intermedia del código compilado, formada por metadatos e instrucciones escritas en Common Intermediate Language CIL. Para que estos archivos binarios se puedan ejecutar es necesaria la presencia del CLR en la máquina en la que se quiera ejecutar la aplicación. Cuando estos binarios se ejecutan se carga el CLR y toma el control de la ejecución.

Desde un punto de vista de eficiencia se podría considerar que el tener la aplicación en código intermedio y ejecutarlo dentro de un entorno de ejecución virtual es una desventaja, sin embargo, esto nos permite poder utilizar las aplicaciones en diversas plataformas para las cuales se disponga del CLR. Así mismo, a la hora de la ejecución el CLR tiene la opción de realizar optimizaciones específicas para la plataforma en la que se está ejecutando, por lo que las aplicaciones se podrían aprovechar automáticamente de determinados avances en materia de procesadores.

La representación de los metadatos y el código en un lenguaje intermedio posibilita el que se puedan desarrollar módulos de una aplicación en diferentes lenguajes y que estos módulos se puedan comunicar entre sí transparentemente.

Para que esto sea posible el CLR necesita conocer bien el código gestionado que está ejecutando, para ello el CLR define un sistema compartido de tipos denominado Common Type System (CTS). El CTS está diseñado para ser suficientemente flexible y potente como para permitir la integración de un amplio número de lenguajes de programación. Para que esta integración sea posible es necesario también que todos los lenguajes que generen código para el CLR dispongan del mismo conjunto de construcciones. Imaginémonos la situación en la que tenemos un lenguaje A que soporta tipos sin signo y otro lenguaje B que no lo hace. ¿Cómo haríamos para llamar desde un método escrito en el lenguaje B a otro escrito en el lenguaje A, el cual necesita un parámetro unsigned?

La solución a este problema la trae el Common Language Specification (CLS). El CLS define un subconjunto del CTS que debería ser suficiente para soportar la integración entre lenguajes y el cual evita áreas conflictivas como sobrecarga de operadores, unsigneds, y otros. De esta forma, cada lenguaje que quiera generar código para la plataforma .NET decide qué parte del CTS acepta.

  • Common Language Specification
  • Common Type System Overview

Framework Class Library (FCL)

Las necesidades de los desarrolladores han evolucionado mucho en los últimos tiempos debido al continuo incremento en la complejidad de las aplicaciones, esto hace necesario la utilización de marcos de trabajo o frameworks, que permitan a los desarrolladores simplificar el desarrollo de las aplicaciones. La Framework Class Library es un enorme conjunto de clases y estructuras, muy bien estructuradas, que ofrecen a los desarrolladores una API muy diversa y completa.

ECMA

En Noviembre de 2000, Microsoft junto a Intel y HP, enviaron a la European Computer Manufacturers Association (ECMA) la especificación del lenguaje C#, junto a un subconjunto del FCL (297 clases de las más de 3.500 existentes) y el entorno de ejecución. En el proceso de estandarización participaron otras empresas incluidas HP, IBM, Fujitsu, Sun, Netscape, entre otras. Se crearon dos grupos de trabajo, uno orientado a la estandarización del lenguaje C# y otro a la estandarización del Common Language Infraestructure (CLI), que incluye el CLR y las FCL. Tras un año de trabajo se presentó el trabajo en la asamblea general de ECMA, y el 13 de diciembre de 2001, se ratificaron como estándares internacionales con los números ECMA-334 (C#) y ECMA-335 (CLI).

Pueden obtenerse copiar de los estándares en: http://www.ecma-international.org/

Valora este capítulo: (7 opiniones)
Autor y licencia de 'Introducción a la plataforma .NET y Mono - .NET Framework'
Patxi Echarte Extraído de: http://www.eslomas.com/index.php/archives/2005/05/11/introduccion-plataforma-net-y-mono/

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
De forma general todos los contenidos de este web están sujetos a una licencia del tipo Creative Commons “Algunos derechos reservados”. Salvo que se diga lo contrario la única restricción impuesta si quieres utilizar algo de lo que aparece en este web, es la de indicar que el autor soy yo, Patxi Echarte.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Introducción a la plataforma .NET y Mono - .NET Framework' (7)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Introducción a la plataforma .NET y Mono - .NET Framework'

Este curso profundiza en la implementación de la clase CString dentro del framework MFC. Se... Más »
Conceptos como dirección IP, DNS, hosting, que le permitirán entender cómo poner las páginas que... Más »
Cuando hablamos de un sitio web nos estamos refiriendo en realidad a un conjunto de... Más »
Es evidente que estamos empezando una nueva era. La era industrial, de la cual cada... Más »
Dentro de las tecnologías de información actuales se tiene una gran cantidad de herramientas que... Más »
¿Estás seguro de que deseas eliminar este capítulo?