.NET FRAMEWORK
por Yhoan Galeano
¿Que es .Net?
.NET es un framework de desarrollo de software desarrollado por Microsoft para Windows. Este incluye una gran librería y provee mucha interoperabilidad entre los distintos lenguajes que lo componen.
¿Y porque me tienen que interesar .NET?
Pero antes, Un poco de historia
Hace mucho mucho tiempo, alrededor de 1995, Java generaba mucha algarabía por el hecho de que los programadores ya no necesitaban saber varios lenguajes para enfocarse a cada plataforma o se veían encasillados a una.
Microsoft luchaba por alcanzar las herramientas de Sun, sin éxito. El Windows DNA (Arquitectura de aplicaciones de internet distribuidas, por sus siglas en ingles) se veía rezagado por el J2EE, dado su enfoque "distribuido gratis". Microsoft opto por dejar de enfocar sus esfuerzos en parches y iniciar un proyecto que se llamo NGWS (Next Generation Windows Services). El resultado de ese proyecto es lo que hoy conocemos como .NET
Version actual (4.7 - beta) - Trabajaremos con la 4.5
Componentes del framework
Aha, ¿Y entonceS?
- Common Language Specification
- Common Language Runtime
- Common Type System
- Microsoft Intermediate Language
- .NET Framework Base Clases
cOMMON LANGUAGE SPECIFICATION
- Especificación que estandariza una serie de características soportadas por el CLR.
- Contrato entre diseñadores de lenguajes de programación y autores de bibliotecas.
- Permite la interoperabilidad entre lenguajes.
- Microsoft provee implementaciones de 4 lenguajes, todos compatibles con el CLS.
- Microsoft Visual Basic
- Microsoft Visual C#
- Microsoft Visual J#
- Microsoft C++
Common Language Specification
El resto de la industria y el sector académico han desarrollado mas de 20 lenguajes compatibles con la especificación CLS.
Common lANGUAGE rUNTIME
El Common Language Runtime o CLR ("entorno en tiempo de ejecución de lenguaje común") es un entorno de ejecución para los códigos de los programas que corren sobre la plataforma Microsoft .NET. El CLR es el encargado de compilar una forma de código intermedio llamada Common Intermediate Language (CIL, anteriormente conocido como MSIL, por Microsoft Intermediate Language), al código de maquina nativo, mediante un compilador en tiempo de ejecución.
¡ojo no es vm!
No debe confundirse el CLR con una máquina virtual, ya que una vez que el código está compilado, corre nativamente sin intervención de una capa de abstracción sobre el hardware subyacente. Es una implementación del estándar Common Language Infrastructure (CLI).
El CLR también permite otros servicios importantes, incluyendo los siguientes:
Administración de la memoria:
Administración de hilos
Manejo de excepciones
Recolección de basura
Seguridad
Common language Infrastructure
- Es una especificación fomentada por Microsoft, Intel, HP.
- Fue estandarizada por ECMA en el 2001 e ISO en el 2003 que describe el CTS, el CLS y un sistema virtual de ejecución.
- El sistema virtual de ejecución nos permite compilar los lenguajes que cumplan con estos estándares a un lenguaje assembly intermedio.
Common language Runtime
Es la implementación comercial de Microsoft del CLI y el motor de ejecución de todo el framework .NET
- Compilación Just-In-Time
- Gestión Automática de Memoria
- Gestión de Errores
- Ejecución basada en librerías o componentes
- Multi hilos
Common language Runtime
CLR - El lado Oscuro
CLR - El lado oscuro
CLR - El Lado Oscuro
Base Class Library
Base Class Library
Base class library
Base class library
Common type system
- Define un conjunto común de tipos de datos
- Todos los lenguajes bajo la sombrilla del framework .NET debe de implementar en su totalidad los tipos definidos por el CTS
Para cerrar:
.NET :
- Unifica los modelos de programación bajo una misma sombrilla
- Es independiente del lenguaje de programación
- Provee interoperabilidad con el código ya existente
- Es extensible
- Es de fácil administración una vez ya instalado.