Qué es .NET? - Northware

¿Te gustaría aprender .NET desde cero hasta avanzado?
Tenemos el diplomado que necesitas .¡Haz clic aquí!

El pasado 12 de noviembre se liberó en todo el mundo .NET 5.0, la nueva versión del marco de trabajo de Microsoft que, esta vez sí, estará disponible para todas las plataformas y permitirá crear cualquier tipo de aplicación.

En los últimos años la empresa de Redmond ha lanzado sucesivas versiones de los diferentes marcos de desarrollo, y esto ha producido una cierta confusión de términos. En nuestro post de hoy vamos a intentar aclarar esos términos.

.NET Standard y BCL

Lo primero que hay que entender que es que cualquier marco de desarrollo utiliza un conjunto de clases base. Estas clases base se hallan en la BCL (Base Class Library) y permiten la creación de aplicaciones empleando las clases elementales de desarrollo. En estas clases base se hallan las clases que gestionan la I/O, la gestión de XML, Reflection, etc.

Mientras el entorno de trabajo de Microsoft solo estuvo disponible para aplicaciones que se ejecutaran en sistemas operativos Windows, Microsoft solo mantuvo una copia de esas clases base. Sin embargo, la llegada de Xamarin a la familia de productos de desarrollo de Microsoft (el primer marco de trabajo no exclusivo de sistemas Windows) hizo necesaria la creación de un conjunto distinto de clases bases que se pudieran ejecutar en sistemas Android y iOS. Mono se utilizó para crear ese conjunto de clases base y las librerías creadas con ese BCL para Xamarin recibían el nombre de Portable Class Libraries.

Sin embargo, Microsoft pronto asumió que las clases base no podían diferir entre los distintos sistemas operativos, porque la intención era convertir a .NET en un entorno de desarrollo multiplataforma y multiaplicación. El concepto de las PCL debía ampliarse para incluir cualquier tipo de sistema operativo y de aplicación.

Así nace .NET Standard. .NET Standard es el conjunto de clases base multiplataforma que permite compartir el código entre distintas aplicaciones y distintos sistemas operativos. La última versión de .NET Standard es la 2.1 y permite crear librerías utilizables por cualquier aplicación, creada en cualquier marco de desarrollo, para cualquier sistema operativo.

La propuesta de Microsoft es que dejemos de crear bibliotecas de clases para Windows y comencemos a crear bibliotecas de clases en .NET Standard, que podremos utilizar desde cualquier tipo de aplicación para cualquier sistema operativo. Sin embargo, este sistema tiene, como es natural, limitaciones impuestas por los propios sistemas operativos. De esta forma, si nuestra aplicación emplea características propias de un sistema operativo determinado (Windows o Android, por ejemplo) será siendo necesario crear DLL adicionales que trabajen con las clases base nativas de dicho sistema. Deberemos emplear técnicas como la inyección de dependencias para poder usar esas librerías desde las librerías de .NET Standard, técnica que ya se utiliza en Xamarin.

Dominio .NET | Registro de dominio .NET | EuroDNS

Marcos de trabajo

En un principio solo había un marco de trabajo, llamado .NET Framework, que permitía crear aplicaciones de todo tipo que se ejecutaran en sistemas operativos Windows (exceptuando los móviles). La apertura del BCL del .NET Framework al mundo Open Source ya hacía entrever que Windows no iba a ser el único entorno en el que se pudiera trabajar en .NET. La promesa realizada en los inicios de crear un entorno de desarrollo multiplataforma se perfilaba como una posibilidad real.

En efecto, el primer marco de desarrollo multiplataforma fue Xamarin. Este marco de desarrollo se creó con la idea de poder compartir código entre los tres sistemas operativos para móviles (en aquella época aún parecía que Windows Phone podía tener algún futuro…). Tras algunas dudas iniciales, la versión 4 de Xamarin parece que se ha asentado como alternativa a otros marcos de trabajo exclusivos de cada sistema operativo.

Obtén descuentos exclusivos de nuestros cursos en vivo en línea

Capacítate con los expertos

La conclusión final debía ser crear un marco de trabajo que permitiera crear aplicaciones para cualquier sistema operativo. Este marco de trabajo recibió en nombre de .NET Core. Las versiones de .NET Core se han ido sucediendo en estos últimos años con gran velocidad, hasta llegar a la versión 3.1. .NET 5.0 no es sino la siguiente versión del marco de trabajo de .NET Core, en pocas palabras, decir .NET 5.0 es como decir .NET Core 4. Sin embargo, el número ha saltado al 5 y se ha eliminado la palabra “Core”. El motivo de hacer esto es doble: se salta al número 5 para evitar la confusión con el .NET Framework, que está ahora en la versión 4.8; y se elimina la palabra “Core” para destacar que a partir de ahora la versión que va a evolucionar es esta y que cubre todas las plataformas.

Microsoft transforma .NET en Open Source y ofrece gratis Visual Studio 2013  - TecnoBitt :- Un bit de tecnología diaria

Cómo mezclarlo todo

.NET 5.0 es el marco de trabajo más potente creado hasta la fecha. No ha sido creado por Microsoft, sino por la .NET Foundation (de la que Microsoft forma parte), y permite:

  • Aplicaciones para una gran variedad de sistema operativos, como Windows, Linux, Android, iOS, MacOS, tvOS, etc. También se soportan diversas arquitecturas de microprocesador, como x32 y x64 o ARM32 y ARM64.
  • Crear aplicaciones de escritorio, de consola, web, de IoT, juegos y muchos más tipos.
  • Trabajar en C#, F# y VB.NET, aunque este último lenguaje no está disponible para todos los tipos de proyectos y está estable.
  • Trabajar en diversos entornos de desarrollo, como Visual Studio, Visual Studio Core, Visual Studio for Mac o GitHub Codespaces.

Sin embargo, esto no significa que todos nuestros desarrollos tengan obligatoriamente que realizarse en .NET 5.0 a partir de ahora. Emplear .NET 5.0 solo tiene sentido si el mismo código ha de ejecutarse en diversos sistemas operativos. Los anteriores marcos de desarrollo no han dejado de existir, ni tampoco dejarán de estar soportados: seguirá existiendo .NET Framework para Windows y Mono para aplicaciones móviles, y si nuestra aplicación no ha de salir de dichos entornos, esa seguirá siendo la mejor opción.

Además, hay características que no se van a traspasar (al menos oficialmente) a .NET 5.0. Por ejemplo, ni WCF ni WF estarán disponibles en .NET 5.0, y tampoco lo estará ASP.NET Web Forms, así que si nuestra aplicación va a emplear esas técnicas deberemos ser fieles al .NET Framework.

Sin embargo, sí es una buena idea crear las bibliotecas de clases que no incluyan código específico de una plataforma en .NET Standard. Eso nos proporcionará más flexibilidad si en el futuro tuviéramos que hacer un port de nuestro código a otro sistema operativo. La versión 16.8.2 de Visual Studio, que acaba de liberarse, permite crear todos estos tipos de aplicaciones en todos los entornos que hemos comentado.

¿Te gustaría aprender .NET desde cero hasta avanzado?
Tenemos el diplomado que necesitas .¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
2 Comments
La mas nueva
Más antiguo Más votada
Comentarios.
Ver todos los comentarios
Martha
Martha
8 Meses Texto atrás

me a disipado muchas dudas un millon de gracias

GReyes
Administrador
Respuesta a  Martha
8 Meses Texto atrás

Muchas gracias por leernos, esperamos seguir cumpliendo con tus expectativas

2
0
¿Te gusta este articulo? por favor comentax