¿Qué es .Net?

Definición:

.Net es una plataforma para el desarrollo de software rápido desarrollada por Microsoft para sus sistemas operativos. Sus objetivos principales son 1) simplificar el proceso de desarrollo de software y 2) lograr que el resultado sea lo más multiplataforma posible.

Estructura

Su estructura básica se compone de tres elementos clave: el Compilador JIT, la estructura común de clases base y el recolector de basuras.

El Compilador JIT (Just-In-Time) compila las instrucciones de los ensamblados a lenguaje máquina en el mismo instante en que se ejecutan. Por eso .Net no es una plataforma con máquina virtual, ya que la compilación se hace realmente al lenguaje del sistema y no pasa por un transformador intermedio.

La estructura común de clases base define los tipos de datos comunes para todos los lenguajes soportados por .Net. Dado que .Net es una plataforma de desarrollo multilenguaje, definir una estructura común de tipos para que todos los lenguajes se entiendan es necesario.

El recolector de basuras es el sistema que se encarga de la gestión manejada de la memoria. Gracias a él, no nos tenemos que volver a preocupar de liberar memoria cuando no la vayamos a utilizar. El recolector de basuras lo detecta y la libera cuando ya no es necesaria.

El Runtime o Entorno Común de Ejecución es el conjunto de todas las herramientas, sistemas y programas que se necesitan para hacer funcionar un programa .Net. En esencia, lo consideramos como una capa que se sitúa por encima del Sistema Operativo, contra la que se programan y sobre la que se ejecutan todas las aplicaciones .Net. Tanto el JIT como la estructura común de tipos base forman parte del Runtime.

Multilenguaje

Actualmente existen más de 50 lenguajes de programación adaptados a la plataforma .Net. Eso significa que para desarrollar un proyecto .Net tenemos la posibilidad de escoger en qué lenguaje vamos a desarrollarlo. Aún es más, podemos desarrollar una solución de software en más de un lenguaje, utilizando un lenguaje para cada uno de los proyectos que conformen la solución.

Entre los lenguajes más utilizados, están Visual Basic .Net (el primer Visual Basic totalmente orientado a objetos) y C# (una variante de C++ y Java también orientada a objetos totalmente). También podemos programar sobre .Net con C++, dejando abierta la posibilidad a una programación más versátil y no manejada (aunque sólo se usa en casos excepcionales).

Todos los lenguajes .Net tienen un compilador a ensamblados .Net. Un ensamblado .Net puede ser un ejecutable (exe) o una librería (dll) que contienen código en Lenguaje Intermedio y metadatos. Por eso, una vez hemos programado y "generado" nuestro código en cualquier lenguaje .Net, el resultado siempre es un ensamblado en Lenguaje Intermedio. El compilador JIT se encarga de transformar el Lenguaje Intermedio de los ensamblados en lenguaje máquina cuando se ejecuta la aplicación.

Multiplataforma

Una de las razones por las que .Net se hizo necesario es la heterogeneidad de las plataformas. Hubo un tiempo en que cualquier sistema de software funcionaba sobre máquinas DOS (hipotéticamente) pero eso se acabó. Ahora tenemos sistemas de 32 y 64 bits, sistemas con Windows Me, XP y Vista (éste último no 100% retrocompatible), sistemas portátiles como PDAs, Smartphones, y sistemas especiales. Programar software que funcione en este entorno es extremadamente complicado.

.Net soluciona el problema al interponer una capa de abstracción (el Runtime) entre el sistema y el software. Así un mismo programa puede funcionar, sin necesidad de recompilarlo o adaptarlo, tanto en un Windows 32 como en un Windows 64, CE, Vista, o Mobile.

Por supuesto, Microsoft sólo saca sus .Net Frameworks para sistemas Microsoft. No obstante, dado que liberó las directrices de las tecnologías .Net y están estandarizadas por la ECMA, numerosos proyectos de software libre se apoyan en la plataforma .Net o en su gemela (desarrollada en código abierto) Mono. Mediante esta plataforma, numerosos proyectos realizados en principio para funcionar bajo Windows con .Net pueden funcionar de manera estable igualmente en MacOsX, Linux, Solaris, BSD e incluso en sistemas especiales, como algunos teléfonos Nokia.

Last edited Apr 10, 2007 at 1:34 PM by neozack, version 2

Comments

No comments yet.