Microsoft ha anunciado la publicación de .NET 6, la nueva versión de su archiconodio framework con el que se puede hacer aplicaciones que abarcan todas las áreas, incluso servidores, la nube y el IoT. Sin embargo, en Linux la cosa se queda más bien centrada en soluciones de servidor, consola y web, o sea, que nada de soporte para aplicaciones gráficas de escritorio.
.NET 6 viene muy cargado de novedades, así que vamos a comenzar con las partes más generales. Para empezar, se trata un lanzamiento LTS que será soportado durante tres años, por lo que hereda la senda de .NET Core 3.1, cuyo soporte se acabará en diciembre de 2022, mientras que el fin de ciclo de la versión 5 llegará el mayo de 2022.
Microsoft trabaja desde hace años para convertir a .NET en una plataforma unificada, algo en lo que ha avanzado mucho en la versión 6 según sus propia palabras. De hecho, la compañía ha dicho que .NET 6 ofrece una “plataforma unificada en navegador, nube, escritorio, IoT y aplicaciones móviles, todas usando las mismas bibliotecas de .NET y la capacidad de compartir código fácilmente.”
“El alcance de los desarrolladores de .NET continúa ampliándose con cada lanzamiento. El aprendizaje automático y WebAssembly son dos de las adiciones más recientes”. Por otro lado, “una de las adiciones más interesantes es la interfaz de usuario de la aplicación multiplataforma .NET (.NET MAUI). Ahora puede escribir código en un solo proyecto que brinda una experiencia de aplicación de cliente moderna en sistemas operativos de escritorio y móviles”.
A nivel de lenguajes nos encontramos con C#, cuya versión 10 continúa con la simplificación que se inició con las declaraciones de la versión 9. El propósito de esa simplificación es hacer que los programas ocupen menos líneas, hasta el punto que “las nuevas características eliminan aún más ceremonia de Program.cs, lo que resulta en programas tan cortos que ocupan una sola línea”.
Entre las características de C# 10 se han mencionado las directivas ‘using’ globales, que permiten declarar una directiva ‘using’ solo una vez para luego ser aplicada sobre todos los ficheros que abarca el proceso de compilación. Otras novedades son los espacios de nombre de ámbito de fichero (File-scoped namespaces), que “permiten declarar el espacio de nombres de un archivo completo sin anidar el contenido restante”, y la posibilidad declarar registros de forma que sean estructuras.
Para F# 6, Microsoft también ha trabajado para que sea más simple y eficaz, eliminando para ello obstáculos que el usuario puede encontrarse a la hora de aprenderlo y haciéndolo más rápido e interoperable, además de más uniforme. Las herramientas son otro aspecto mejorado en F# 6.
En materia de seguridad, .NET 6 en Linux requiere OpenSSL 1.1 o posterior para realizar todas las operaciones criptográficas, si bien la compañía recomienda utilizar el lanzamiento más nuevo de biblioteca criptográfica. Sin embargo, OpenSSL 3 es demasiado reciente, así que en sistemas como Red Hat 8 y Ubuntu 20.04 no se empezará a usar, al menos en un principio, dicha versión.
Apple ha golpeado duro con sus procesadores basados en arquitectura ARM, por lo que estos cada vez son más tenidos en cuenta a la hora de soportar tecnologías que se ejecutan en entornos de escritorio y profesionales. .NET 6 es el primer lanzamiento del framework en ofrecer soporte nativo de Apple Silicon y el soporte para Windows ARM ha sido. También existe un contenedor Docker para ARM de 64-bit, pero este solo funciona en sistemas operativos que se están ejecutando sobre la misma arquitectura.
Mención especial ha tenido Debian 11 Bullseye, el último lanzamiento estable de la veterana y reputada distribución comunitaria. Microsoft ha reconocido que emplea Debian para la creación de sus imágenes de contenedor de Linux. De hecho, en caso de descargar un contenedor Docker de la compañía, el usuario podrá ver que toma Debian como base.
Microsoft ha tenido claro desde el principio que quería suministrar .NET 6 a través de una imagen de contenedor de Debian 11 Bullseye, así que durante el desarrollo de la última versión del framework decidió apostar por dicha versión de la distribución a pesar de ocupar todavía la rama testing. La corporación reconoció que hubo cierta incertidumbre debido a que no quería enviar una imagen de Linux basada en un sistema que oficialmente no estaba listo para producción, pero se mantuvo en su postura y se ha salido con la suya.
Junto a .NET 6 también ha llegado PowerShell 7.2, la nueva versión de su intérprete de comandos de última generación que desde hace unos años es Open Source, lo que ha permitido portarlo a Linux y Mac (aunque la compañía se ha reservado algunas cartas). PowerShell 7.2 ha mejorado el soporte de ANSI, incorporado Intellisense predictivo con PSReadLine y ha sido compilado con el mencionado .NET 6.
Todos los detalles de .NET 6 pueden ser consultados a través del anuncio oficial publicado en el blog para desarrolladores de Microsoft. Los que estén interesados en en probar el framework pueden obtenerlo para Linux, Windows y macOS desde su sección de descargas o en formato contenedor recurriendo a DockerHub. La compañía ha publicado diversas instrucciones para instalarlo en Linux.
Fuente: muylinux