2 - . NET Framework

[editar]
Tutorial creado por Patxi Echarte. Extraido de: http://www.eslomas.com/index.php/archives/2005/05/11/introduccion-plataforma-net-y-mono/
27 de Abril de 2006

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/

[editar]

11 opiniones

NECESITO AYUDA!

COMO SE CUAL SISTEMA GESTOR DE DATOS ES MEJOR ENTRE ORACLE...VISUAL FOXPRO...ACCESS O .NET!?
dfg

dgdfgd
me parece una muy buenea idea

Es una buena idea ya que si nos ponemos a pensar que para instalar algun programa actualmente existe muchas dependencias y por lo tanto es un dolor de cabeza instalar cualquier programa, entonces con frame work ya no hay que preocuparse de eso, aunque seria mejor usar java, el unico problema de java es la lentitud ya que se ejecuta en una maquina virtual, por ese motivo pienso que java deberia ejecutarse nativamente y si asi lo hace seria muy utilizado por todos nosotros los programadores pero como no es asi
Java es poder

Las niñas programan en .net jajajajajajajjajajaj te lo puedo comprobar
Webservices.

Dentro de la plataforma j2ee, existen infinitas posibilidades de comunicación entre "enterprises", no solo usando soap. Otra cosa, si hubieses estado bien informado sobre java, conocerías jni (java native interface) que no hace otra cosa que permitirnos la interoperabilidad con librerías no administradas para usarlas dentro de java. Y para terminar,. Net framework es una copia de java, con algunas clases cambiadas y c# es una copia fiel de java, simplemente le cambiaron "extends" por ":" y implements por ":". De todas formas, saludos.
1 2 3 | siguiente >

Tutoriales relacionados con 'Introducción a la plataforma. NET y Mono'

Presentación basada en una charla que di en la Navarparty, actualizada en lo que respecta... Más »

Autor y licencia de 'Introducción a la plataforma. NET y Mono'

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.