.NET: Qué es y cómo funciona

El lanzamiento de la plataforma .NET fue anunciado oficialmente por primera vez por Microsoft en el año 2000. Pero, dos años después, el framework se lanzó como parte de Visual Studio .NET.
La importancia de cada tecnología que incluye la plataforma ha cambiado significativamente con el tiempo. En este artículo conocerás toda la evolución de .NET y sus características principales.
Qué es .NET
.NET es una plataforma de aplicaciones que permite la creación y ejecución de servicios web y aplicaciones de Internet. En la plataforma de desarrollo se pueden utilizar una serie de lenguajes, implementaciones, herramientas y bibliotecas para el desarrollo de las aplicaciones.
En definitiva, es hoy en día la plataforma de desarrollo de software más usada para nuevos proyectos de desarrollo de software además de Java.
Microsoft .NET es una colección de diferentes plataformas de software de Microsoft. El framework original fue desarrollado como una competencia directa a la plataforma Java. Así pues, los entornos de aplicación pueden ser desarrollados y ejecutados en base a .NET.
Hasta aproximadamente 2003, el término .NET sirvió a Microsoft como término de marketing y como palabra de moda para productos nuevos, pero muy diferentes, como sistemas operativos, servidores y software de oficina. Más tarde, el término se concentró en el desarrollo de software.
Inicialmente no tuvo mucho éxito, pero el entorno .NET ha cambiado significativamente a lo largo de los años y ha ganado en importancia. Hoy en día, el framework .NET se ha vuelto indispensable en la práctica diaria.
Componentes de la Arquitectura .NET
Los componentes de la arquitectura .NET juegan un papel importante en el desarrollo de aplicaciones. Los podemos clasificar en: el clásico .NET Framework, que es un framework monolítico, el más actual .NET Core framework, que es modular, la plataforma Xamarin y la específica de Windows UWP. A continuación los explico con mayor detenimiento para tu mayor comprensión.
1. Implementaciones
.NET Framework está dividido en diferentes subcategorías y categorías de programas y, por lo tanto, contiene diferentes modelos de ejecución entre los que el usuario debe elegir al desarrollar el software. La base del desarrollo es la biblioteca de clases, que ha estado disponible en general como fuente compartida desde 2014. La llamada biblioteca de clases base permite el desarrollo de aplicaciones no sólo para entornos Windows, sino también para plataformas como Android o MacOS.
Esta plataforma de desarrollo se utiliza normalmente para crear aplicaciones de windows, windows movile, windows server, etc con Asp.net, WPF y Windows Forms
Por otro lado, .NET Core es una nueva alternativa que se separó por primera vez del .NET Framework en 2015. Debido a la mejora de la modularidad y a la portabilidad aún más sencilla del software a plataformas que no sean de Microsoft, .NET Core es particularmente apreciado por muchos desarrolladores.
Generalmente, desarrolla aplicaciones para la plataforma universal de Windows UWP y Asp.NetCore. Además, se utiliza para desarrollar aplicaciones en la nube. La biblioteca de clases Core Ex es compatible con Windows, MacOs y Linux.
Otra implementación a destacar es la plataforma Xamarin en la que se pueden desarrollar aplicaciones para Android, iOS, tvOS, watchOS, macOS y Windows. Ésta, disponía de herramientas y bibliotecas específicas.
Por último, incluir UWP, la plataforma universal de Windows. Aunque algunos desarrolladores la situan dentro de la plataforma .NET Core al compartir algunas bibliotecas de este, a Microsoft le gusta que se la considere un implementación más.
2. .NET Standard Library
Otro de los componentes que formaban parte de la arquitectura era la biblioteca de clases portable PCL. Con ella se podía compartir el código entre varios proyectos específicos de la plataforma, tanto en IOS, Android, Windows y Windows Phone.
Pero, las PCL presentaban muchas desventajas de compatibilidad entre implementaciones. Para ello, los desarrolladores crearon la API .NET Standard Library. Se trata de una fusión de las bibliotecas base y PCL compatible con todas las implementaciones.
En la actualidad, con la última versión de Visual Studio en 2017, las PCL quedaron obsoletas y borradas del sistema, así como las bibliotecas base de cada implementación. En su lugar fueron reemplazadas por .NET Standard Library.
También, existen otras API suplementarias que son específicas de los sistemas operativos en los que se ejecuta.
3. Entorno en Tiempo de Ejecución
Una de las partes relevantes de la arquitectura es el Entorno en Tiempo de Ejecución, que como su nombre indica es donde se ejecuta el programa administrado o el intervalo de tiempo en el que un software se ejecuta en un sistema operativo. Según la implementación utilizada:
- .NET framework: CLR (Common Language Runtime).
- .NET Core: Core CLR (CoreCommon Language Runtime).
- Xamarin: entorno de implementación Mono.
- UWP: .NET Native.
4. Infraestructura Común
Siguiendo con los componentes de la arquitectura, encontramos la Infraestructura Común donde están los lenguajes de programación: C#, F#, VB y el motor de compilación Ms Build para compilar los proyectos.
5. Herramientas de Desarrollo
Finalmente, otro componente son las Herramientas de Desarrollo para la creación de aplicaciones web o móviles en los diferentes sistemas operativos mencionados:
- Administrador de paquetes para microsoft: Nuget.
- Entorno de desarrollo integrado (IDE): Visual Studio, Xamarin Studio, Visual Studio para Mac, JetBrains Rider.
- Editores de Código: Visual Studio Code y Plugin OmniSharp.

Cómo funciona .NET
Para desarrollar un programa basado en el .NET Framework no se necesita mucho. Para escribir el programa, en casos simples es suficiente un editor de texto y un compilador, que se incluye en el framework. Con estos dos componentes ya se pueden crear aplicaciones sencillas de Windows.
Para proyectos más grandes, Microsoft ofrece el entorno de desarrollo Visual Studio en diferentes ediciones. Además de un editor de código, contiene muchas herramientas útiles, por ejemplo para el análisis, la solución de problemas o las pruebas. El compilador, por otro lado, es el responsable de traducir el código escrito del programa a un idioma que pueda ser leído por la computadora.
En las primeras versiones de .NET, este lenguaje intermedio generado se llamaba MSIL (Microsoft Intermediate Language). Debido a la estandarización, desde entonces ha sido renombrado como CIL (Common Intermediate Language).
El CIL permite a los programadores trabajar en el mismo proyecto en diferentes lenguajes de programación, ya que el código escrito del programa siempre se traduce al mismo lenguaje intermedio. Ademas, el framework permite a los programadores desarrollar partes de programas en C++, C# y VB.NET y luego combinarlos y usarlos juntos en un proyecto.
Mientras tanto, Microsoft también ofrece la posibilidad de desarrollar programas con HTML5 y JavaScript basados en el .NET Framework. Esta tecnología se puede encontrar, por ejemplo, en aplicaciones para Windows 8.1 o Windows Phone 8.1.
Lenguajes de programación en .NET
Los dos principales lenguajes de programación en .NET son C# y Visual Basic .NET. El lenguaje de programación F# también es muy utilizado. Desde 2013, JavaScript también está totalmente adherida y aceptada.
El C++ no se ha usado durante mucho tiempo, pero también puede ser utilizado como una extensión del lenguaje C++/CLI en. La extensión del lenguaje C++/CLI ofrece la posibilidad de transferir objetos directamente con otros lenguajes de objetos. El lenguaje de programación Python también se usa de forma regular.
Además, existen otros innumerables lenguajes de programación, que a menudo tienen un carácter más bien experimental y no son adecuados para productos comerciales.
Para que sirve .NET
El objetivo de .NET es crear una plataforma de desarrollo de software moderna, flexible y neutral para el desarrollo de todo tipo de software. De esta forma, proporciona a los consumidores y a los programadores de las empresas una interfaz de usuario perfectamente interoperable. Esta circunstancia ocasiona que la informática esté cada vez más orientada a los navegadores.
Con la excepción de la programación de controladores de hardware, el .NET abarca todo tipo de aplicaciones, desde aplicaciones de escritorio hasta aplicaciones web; desde servicios de sistema hasta servicios web; y desde rutinas de bases de datos hasta programación de aplicaciones IoT y Machine Learning.
Microsoft diseñó esta plataforma para ser un sistema neutral desde el principio, pero no hizo ningún esfuerzo para implementarlo en Mac y Unix/Linux. Debido a la iniciativa de otras compañías (especialmente Novell), grandes partes de .NET están ahora disponibles para otros sistemas operativos.
Y esto es incluso apoyado por Microsoft en vista del creciente número de sistemas operativos que compiten entre sí, especialmente en el mercado de los dispositivos móviles. El propio Microsoft ofrece una variante para Mac OS con Silverlight.
Ventajas de .NET
Básicamente, las diferentes variantes de los entornos de desarrollo .NET ofrecen a los programadores toda una gama de ventajas. Estas son, entre otras:
- Interoperabilidad: Los elementos de software y programas desarrollados pueden utilizar las funcionalidades de los programas desarrollados fuera de .NET.
- Common Language Runtime (CLR): Un entorno de tiempo en ejecución uniforme de todos los lenguajes de programación .NET disponibles. Esto asegura un comportamiento consistente en las áreas de uso de memoria y seguridad.
- Independencia del lenguaje utilizado: La base es una arquitectura de lenguaje común, que permite el intercambio de datos entre dos programas en diferentes lenguajes de programación.
- Una biblioteca de clases comunes: Una biblioteca de códigos para las funciones más utilizadas para evitar la duplicación y la programación innecesaria.
- Seguridad: Todas las soluciones de software desarrolladas se basan en un modelo de seguridad común y efectivo.
¿Quieres aprender a desarrollar aplicaciones informáticas con .NET?
aula21 tiene disponible un curso online de .NET para que amplíes tus competencias tecnológicas desde tu propia casa, a tu ritmo y sin limitaciones horarias.
Adquiere los conocimientos básicos para manejarte con el lenguaje de programación C# y descubre cómo crear aplicaciones en .NET.
Todos nuestros cursos son bonificables por FUNDAE. Nosotros nos encargamos de la gestión y el trámite de tu bonificación sin coste adicional.

Suscríbete y forma parte de la comunidad online de AULA21
Únete a nuestra lista de correo para recibir las últimas noticias y actualizaciones de la comunidad.
You have Successfully Subscribed!
Te informamos de que los datos de carácter personal que nos proporciones, serán tratados por AULA21 como responsable de esta web. La finalidad de la recogida de datos es para poder contactarte y para enviarle nuestras publicaciones y promociones de productos y/o servicios. Destinatarios: los Datos que nos facilites estarán ubicados en los servidores de Webempresa. Podrás ejercer en cualquier momento tus derechos de rectificación, limitación, supresión y acceso de datos.