Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=aa9bca34-259e-4737-948b-071ede6ddc67

.NET 6: Las novedades en ASP.NET MVC y Blazor

Imagen ornamental

Si estás pensando en aprender .NET para desarrollo Web o ya lo estás utilizando con la versión 5.0 y te interesa saber qué novedades nos trae .NET 6 al respecto, te lo vamos a contar de forma resumida en este artículo.

Recuerda que nuestros cursos de .NET están ya actualizados a .NET 6, por lo que puedes formarte con garantías de futuro 😉

La primera buena noticia es que, prácticamente, no existen breaking changes importantes o cambios que rompan de forma brusca con lo anterior, por lo que todo lo que ya sepas de .NET 5 sigue siendo válido. Esta continuidad respeto a la versión anterior se pone de manifiesto, como veremos enseguida, en la sencillez con la que podremos migrar proyectos de ASP.NET Core 5 o Blazor 5 a su versión 6.0.

Lo que tienes en .NET 6 son algunos añadidos interesantes a ASP.NET y a Blazor que mejoran, complementan o amplían lo que ya conoces.

Por ejemplo, quizás la novedad más destacada, aunque menos visible a efectos prácticos, la encontramos a nivel de infraestructura. Como sugiere su versionado, ASP.NET Core 6 y Blazor 6 están construidos sobre .NET 6, por lo que se benefician de todas las mejoras y herramientas proporcionadas por esta nueva versión: más rendimiento, consumo más eficiente de recursos, soporte para las características más recientes de los lenguajes, herramientas y un framework cada vez más potente, versátil y ubicuo. Pero, en la práctica, se trata de un detalle de bajo nivel y no afectará a tu forma de desarrollar aplicaciones web con ASP.NET Core o con Blazor.

Es también destacable el hecho de que .NET 6 es una versión LTS (Long Term Support) o con soporte a largo plazo. En la práctica, esto quiere decir que se trata de una versión que será soportada oficialmente por el equipo del proyecto durante aproximadamente los tres años siguientes a su lanzamiento. Esto supone una diferencia importante respecto a otras versiones (como .NET 5), cuyo soporte sólo se extiende hasta seis meses después de la aparición de la siguiente versión.

Otro cambio bastante interesante, y que nos permitirá disparar nuestra productividad, es la introducción de hot reload. Se trata de una esperada característica, introducida en prácticamente todas las tecnologías basadas en .NET 6, que permite a los desarrolladores realizar cambios en el código mientras la aplicación está funcionando, pudiendo ser aplicados de forma inmediata y sin necesidad de pausar o reiniciar la aplicación.

También en esta versión podremos utilizar CSS isolation, o aislamiento de CSS en ASP.NET Core 6 MVC, una característica que ya teníamos en Blazor 5, heredada directamente y que ofrece una alternativa bastante interesante a la hora de organizar los archivos de hojas de estilo de los proyectos.

Interesante asimismo es la llegada de las nuevas Minimal APIs, una nueva interfaz de programación simplificada del modelo de hosting, configuración, puesta en marcha y rutado en aplicaciones web. En la práctica, es algo así como un nuevo modelo para la programación de APIs más sencillo, eficiente y, sobre todo, muy orientado a facilitar la entrada a ASP.NET Core a programadores neófitos o procedentes de otras tecnologías.

En cuanto a Blazor específicamente, el equipo de desarrollo ha estado muy ocupado con la introducción de la compilación AOT (Ahead Of Time) o anticipada, que permite generar directamente código WebAssembly durante el proceso de publicación, para aumentar significativamente en el rendimiento de aplicaciones Blazor WebAssembly cuando este sea un factor crítico.

Han introducido también mejoras de menor envergadura, pero igualmente interesantes y útiles en nuestro día a día, como el soporte para componentes dinámicos, herramientas para la preservación del estado en la prerrenderización, mejoras en componentes genéricos y mayor control a la hora de mostrar y manejar errores en la UI, o el soporte para parámetros obligatorios entre otros.

¿Cómo podemos actualizar un proyecto web de .NET 5 a .NET 6?

Como viene siendo habitual en ASP.NET Core y en Blazor, el salto de una versión a la siguiente no suele ser demasiado traumático, sobre todo si, como es el caso, no se han introducido breaking changes de calado.

El cambio principal a realizar en los proyectos es la actualización del target framework a net6.0 en el archivo .csproj del proyecto:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>
</Project>

Aparte de esto, sería conveniente echar un vistazo a los paquetes NuGet instalados, bien examinando el contenido del archivo .csproj o bien usando el gestor de paquetes de Visual Studio. Si utilizamos paquetes cuyo nombre comiencen por Microsoft.AspNetCore. o Microsoft.Extensions, será necesario actualizarlos a la versión 6.x.x más reciente.

¡Y esto es todo! de esta forma tan sencilla nuestro proyecto ya podrá sacarle partido a las mejoras estructurales de .NET 6, de rendimiento y demás, que mencionaba más arriba.

OJO: en el 99% de los casos no te dará ningún problema, pero de todos modos, antes de acometer la actualización de un proyecto a ASP.NET Core 6, siempre conviene echar un vistazo a la guía oficial de migración y la lista de breaking changes, para asegurarte de que podrás realizar la migración con éxito.

Además podrás aprovechar las nuevas características tanto de ASP.NET Core MVC como de Blazor que nos trae esta nueva versión, que te abrirán nuevas posibilidades a la hora de desarrollar.

José María Aguilar José María atesora una amplísima experiencia trabajando en el mundo del desarrollo de software (programador, analista, responsable de informática, consultor, director técnico), principalmente con tecnologías Microsoft. Actualmente trabaja como consultor y desarrollador independiente, ofreciendo servicios tecnológicos a empresas e instituciones.
Es un reconocido experto en desarrollo web en todo el mundo, y es autor del libro de Microsoft Press "SignalR Programming in Microsoft ASP.NET".
Escribe regularmente artículos sobre ASP.NET MVC y otros temas relacionados con el desarrollo de software en su blog.
Puedes seguirlo en Twitter en @jmaguilar. Ver todos los posts de José María Aguilar
Archivado en: Lenguajes y plataformas

¿Te ha gustado este post?
Pues espera a ver nuestro boletín mensual...

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.