Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Blazor, el framework de interfaz de usuario web completo, ha evolucionado significativamente con el lanzamiento de .NET 8.0. Esta actualización aporta diversas funciones y mejoras que permiten a los desarrolladores crear aplicaciones web interactivas y modernas con C# y . NET.
En este artículo, profundizaremos en los aspectos clave de Blazor .NET 8.0, explorando los nuevos modos de renderizado, las plantillas de proyecto, las mejoras en las herramientas y mucho más.
Blazor en .NET 8.0 introduce tres modos de renderizado:
Uno de los aspectos más destacados es el modo de renderizado automático interactivo, que combina el renderizado del lado del servidor para el contenido con el posterior renderizado e interactividad en el cliente utilizando el tiempo de ejecución .NET WebAssembly. El resultado es una experiencia de inicio de la aplicación más rápida, lo que la convierte en una opción atractiva para los desarrolladores.
.NET 8.0 presenta la plantilla Blazor Web App, un punto de partida unificado que combina los puntos fuertes de los modelos de alojamiento Blazor Server y Blazor WebAssembly.
Esta plantilla incorpora nuevas funciones como la renderización estática del servidor, la renderización en streaming, la navegación mejorada y el manejo de formularios. La consolidación de plantillas de proyectos simplifica el proceso de desarrollo.
Los inicializadores JS tradicionales se han sustituido por un nuevo conjunto para Blazor Web Apps, que ofrece un mejor control sobre tareas como la personalización del proceso de carga, los niveles de registro y otras opciones. Este cambio mejora la experiencia de desarrollo y se alinea con el objetivo de unificar los modelos de alojamiento en .NET 8.0.
Con el fin de ofrecer una cobertura más específica, las orientaciones sobre preprocesamiento e integración se han dividido en artículos separados. Este cambio pretende simplificar la comprensión y la aplicación, facilitando a los desarrolladores el seguimiento de las mejores prácticas.
Blazor Web Apps ahora persiste automáticamente cualquier estado registrado a nivel de aplicación creado durante la prerrenderización. Esto elimina la necesidad de utilizar el Ayudante de etiqueta de persistencia de estado de componente, lo que agiliza el proceso de persistencia y lectura del estado de componente.
.NET 8.0 incorpora funciones mejoradas de gestión de formularios a los componentes Blazor, como la vinculación de modelos y la validación de datos. El marco de trabajo respeta los atributos del contrato de datos, lo que proporciona a los desarrolladores un mayor control sobre cómo se vinculan los datos del formulario al modelo. La introducción del soporte antifalsificación añade una capa adicional de seguridad a los envíos de formularios.
La renderización estática del servidor en Blazor .NET 8.0 introduce una mejora significativa en la navegación de páginas y el manejo de formularios. Tradicionalmente, la página completa se actualizaba al navegar o enviar un formulario.
Con la función de navegación mejorada, Blazor intercepta la solicitud y realiza una solicitud de obtención, insertando el contenido de la respuesta renderizada sin problemas en el DOM del navegador. De este modo se evitan las actualizaciones completas de la página, lo que se traduce en cargas de página más rápidas y fluidas, al tiempo que se conserva una mayor parte del estado de la página.
La navegación mejorada se activa por defecto cuando el script Blazor (blazor.web.js) y puede activarse opcionalmente para formularios específicos. La nueva API de navegación mejorada permite a los desarrolladores actualizar la página actual mediante programación, lo que proporciona aún más control sobre la experiencia del usuario.
Blazor .NET 8.0 introduce la renderización de secuencias, una potente función que mejora la experiencia del usuario en páginas que ejecutan tareas asíncronas de larga duración. Con la renderización en streaming, las páginas pueden renderizar contenido de marcador de posición mientras se realizan operaciones asíncronas.
Una vez completado, el contenido actualizado se transmite al cliente en la misma conexión de respuesta y se integra sin problemas en el DOM. Este enfoque garantiza que el diseño principal de la aplicación se renderice rápidamente y que la página se actualice en cuanto el contenido esté disponible.
Blazor ahora soporta la inyección de servicios con clave utilizando el atributo Inject
. Las claves permiten el alcance del registro y consumo de servicios en escenarios de inyección de dependencias.
La nueva propiedad InjectAttribute.Key
permite a los desarrolladores especificar la clave del servicio que se va a inyectar, lo que abre nuevas posibilidades de alcance del servicio.
HttpContext
como parámetro en cascadaBlazor .NET 8.0 introduce la posibilidad de acceder al HttpContext
actual como parámetro en cascada desde un componente estático del servidor. Esta mejora es especialmente útil para inspeccionar y modificar cabeceras u otras propiedades relacionadas con el contexto HTTP.
Blazor .NET 8.0 abre la posibilidad de renderizar componentes Razor fuera del contexto de una petición HTTP. Esta flexibilidad permite a los desarrolladores renderizar componentes Razor directamente a una cadena o flujo independientemente del entorno de alojamiento ASP.NET Core.
Esta función es especialmente útil para situaciones en las que es necesario generar fragmentos HTML, como correos electrónicos o contenido estático de sitios web.
En Blazor .NET 8.0, la introducción de los componentes SectionOutlet
y SectionContent
revoluciona la gestión de contenidos. Estos componentes permiten a los desarrolladores definir marcadores de posición en los diseños, que posteriormente se rellenan con páginas específicas.
Las secciones pueden referenciarse utilizando nombres únicos o identificadores de objeto, lo que proporciona flexibilidad y reutilización en la construcción de diseños web dinámicos.
Blazor Web Apps en .NET 8.0 cuenta ahora con una sólida compatibilidad con páginas de error, lo que permite a los desarrolladores definir páginas de error personalizadas para su uso con el middleware de gestión de excepciones ASP.NET Core.
La página de error por defecto (Components/Pages/Error.razor) proporciona una experiencia de usuario coherente. Incluso cuando la interactividad está activada, la página de error se representa como un componente estático del servidor, lo que garantiza la estabilidad en situaciones de excepción.
QuickGrid, el componente de cuadrícula de alto rendimiento, ha dejado de ser experimental para convertirse en parte integrante del marco Blazor en .NET 8.
Este componente simplifica la visualización de datos tabulares al tiempo que ofrece potentes funciones como la ordenación, el filtrado, la paginación y la virtualización. Más información sobre QuickGrid
en la documentación de ASP.NET Core Blazor QuickGrid
.
Blazor .NET 8.0 introduce soporte para el enrutamiento del lado del cliente para navegar directamente a elementos HTML específicos de una página utilizando fragmentos de URL estándar. Al especificar un identificador para un elemento HTML con el atributo id estándar, Blazor se desplaza sin problemas hasta ese elemento cuando el fragmento de URL coincide con el identificador del elemento.
Blazor .NET 8.0 mejora los valores en cascada introduciendo valores en cascada a nivel de raíz que pueden registrarse para toda la jerarquía de componentes. Ahora se admiten valores en cascada con nombre y suscripciones para las notificaciones de actualización, lo que proporciona una mayor flexibilidad y control.
El nuevo parámetro EmptyContent
del componente Virtualize permite a los desarrolladores proporcionar contenido cuando el componente se ha cargado y el elemento está vacío o ItemsProviderResult<T>.TotalItemCount
es cero.
Esto permite a los desarrolladores crear interfaces más intuitivas y fáciles de usar.
Blazor .NET 8.0 introduce la posibilidad de cerrar circuitos cuando no quedan componentes interactivos en el servidor. Esta optimización libera recursos del servidor y mejora el rendimiento general.
Además, ahora los desarrolladores pueden supervisar la actividad de los circuitos de entrada en las aplicaciones del lado del servidor mediante el método CreateInboundActivityHandler
de CircuitHandler
.
El Jiterpreter, una nueva función de tiempo de ejecución de .NET 8, introduce el Just-in-Time parcial. (JIT) soporte de compilación cuando se ejecuta en WebAssembly. Esto se traduce en una mejora del rendimiento en tiempo de ejecución, ofreciendo una experiencia más fluida a los usuarios que interactúan con las aplicaciones Blazor WebAssembly.
La compilación AOT de Blazor WebAssembly ahora utiliza por defecto WebAssembly Fixed-width SIMD y WebAssembly Exception handling. Esta elección estratégica mejora significativamente el rendimiento en tiempo de ejecución, proporcionando una experiencia de usuario más eficiente y receptiva.
Blazor WebAssembly utiliza ahora Webcil, un empaquetado de ensamblados .NET fácil de usar en la web. Esto garantiza la compatibilidad en entornos que bloquean la descarga o el uso de archivos .dll, con lo que se resuelven los problemas de implantación. Webcil está activado por defecto para las aplicaciones Blazor WebAssembly.
La depuración de aplicaciones Blazor WebAssembly se ha simplificado en .NET 8. El depurador descarga ahora datos de símbolos desde ubicaciones configuradas en las preferencias de Visual Studio, lo que mejora la experiencia de depuración de las aplicaciones que utilizan paquetes NuGet.
Además, ahora se admite la depuración en Firefox, que requiere la configuración para la depuración remota y la conexión a través del proxy de depuración .NET WebAssembly.
Blazor WebAssembly en .NET 8.0 elimina la necesidad de habilitar el origen de secuencias de comandos unsafe-eval al especificar una política de seguridad de contenidos. (CSP). Esta mejora simplifica las configuraciones de seguridad, facilitando la aplicación de un CSP robusto para las aplicaciones Blazor WebAssembly.
La introducción de ComponentBase.DispatchExceptionAsync
permite a los desarrolladores procesar excepciones lanzadas fuera de la pila de llamadas del ciclo de vida de un componente Razor.
Esta función permite que el código del componente trate las excepciones como si fueran excepciones de métodos del ciclo de vida, lo que garantiza un mecanismo de gestión de errores más coherente y controlado.
Iron Suitedesarrollado por Iron Software, consta de siete útiles bibliotecas que permiten a los desarrolladores crear potentes aplicaciones Blazor.
Si desea añadir funcionalidad PDF, Excel o archivos CSV, reconocimiento de imagen a texto, generación y lectura de códigos de barras y QR, y comprimir o extraer archivos.
Iron Suite es la opción perfecta a tener en cuenta para el desarrollo web utilizando el modelo de alojamiento Blazor WebAssembly, o cualquier tecnología de Microsoft, incluyendo la aplicación Blazor WebAssembly, aplicación de servidor Blazor, ASP.NET Core MVC APP, ASP.NET core WEB APIs, o cualquier aplicación construida en tiempo de ejecución .NET ya sea cualquier versión.
IronZIP para comprimir y descomprimir archivos, agilizar el almacenamiento de datos y los procesos de transferencia.
En conclusión, el lanzamiento de Blazor .NET 8.0 marca un hito importante en la evolución del desarrollo de interfaces de usuario web completas con C# y .NET.
La introducción de nuevos modos de renderizado, la plantilla Blazor Web App, la navegación mejorada y un sinfín de características más lo convierten en una opción atractiva para los desarrolladores que deseen crear aplicaciones web modernas e interactivas.
Blazor .NET 8.0 también introduce funciones atractivas, como la mejora de la gestión de formularios, la renderización de secuencias y la posibilidad de inyectar servicios con clave, lo que añade profundidad y flexibilidad al desarrollo.
La introducción de Iron Suite por Iron Software complementa las capacidades de Blazor, ofreciendo un completo conjunto de herramientas para tareas relacionadas con documentos dentro del ecosistema .NET.
Blazor .NET 8.0 permite a los desarrolladores crear aplicaciones web sólidas y ricas en funciones utilizando Iron Suite.
La combinación de potentes funciones, rendimiento mejorado y el apoyo de una vibrante comunidad de desarrolladores posiciona a Blazor como una opción convincente para el desarrollo web moderno.
9 productos API .NET para sus documentos de oficina