Blazor .NET 8 (Tutorial para desarrolladores)
Blazor, el marco de interfaz de usuario web full-stack, ha evolucionado significativamente con el lanzamiento de .NET 8.0. Esta actualización trae varias características y mejoras que permiten a los desarrolladores crear aplicaciones web interactivas y modernas utilizando 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 proyectos, las mejoras de herramientas y más.

Entender los modos de renderizado de Blazor
Blazor en .NET 8.0 introduce tres modos de renderizado:
- Renderizado estático en el servidor: Genera HTML estático para un rendimiento óptimo.
- Renderizado interactivo en el servidor: Utiliza el runtime del servidor ASP.NET Core para el renderizado inicial y la interactividad.
- Renderizado interactivo en WebAssembly: Aprovecha el runtime de .NET WebAssembly en el cliente para el renderizado e interactividad subsiguientes.
El versátil renderizado automático interactivo
Uno de los aspectos destacados es el modo de renderizado automático interactivo, que combina el renderizado en el servidor para el contenido con el renderizado subsiguiente y la interactividad en el cliente usando el runtime .NET WebAssembly. Esto resulta en una experiencia de inicio de aplicación más rápida, haciéndolo una opción atractiva para los desarrolladores.
Presentación de la plantilla de aplicación web de Blazor
.NET 8.0 introduce la plantilla de aplicación web Blazor, un punto de inicio unificado que combina las fortalezas de los modelos de hospedaje de Blazor Server y Blazor WebAssembly.
Esta plantilla incorpora nuevas características como renderizado estático en servidor, renderizado en streaming, navegación mejorada y manejo de formularios. La consolidación de plantillas de proyectos simplifica el proceso de desarrollo.
Inicializadores JS simplificados para aplicaciones web Blazor
Los inicializadores JS tradicionales han sido reemplazados por un nuevo conjunto para aplicaciones web Blazor, ofreciendo mejor control sobre tareas como personalización del proceso de carga, niveles de registro y otras opciones. Este cambio mejora la experiencia de desarrollo y se alinea con el objetivo de unificar los modelos de hospedaje en .NET 8.0.
Guía de prerrenderización e integración de Splitting
Para ofrecer una cobertura más focalizada, la guía sobre prerenderización e integración se ha dividido en artículos separados. Este cambio busca simplificar la comprensión e implementación, facilitando a los desarrolladores seguir las mejores prácticas.
Persistencia de estado sin esfuerzo en aplicaciones web Blazor
Las aplicaciones web Blazor ahora persisten automáticamente cualquier estado a nivel de aplicación registrado creado durante la prerenderización. Esto elimina la necesidad del Helper de Etiqueta de Estado Persistente de Componente, simplificando el proceso de persistencia y lectura del estado del componente.
Manejo mejorado de formularios y enlace de modelos
.NET 8.0 trae capacidades mejoradas de manejo de formularios a los componentes Blazor, incluyendo asociación de modelos y validación de datos. El marco respeta los atributos del contrato de datos, proporcionando a los desarrolladores más control sobre cómo se asocian los datos del formulario al modelo. La introducción del soporte contra falsificación añade una capa extra de seguridad a las sumisiones de formularios.
Navegación mejorada y manejo de formularios
El renderizado estático en el servidor en Blazor .NET 8.0 introduce una mejora significativa en la navegación de páginas y manejo de formularios. Tradicionalmente, se producían actualizaciones completas de página al navegar o enviar un formulario.
Con la característica de navegación mejorada, Blazor intercepta la solicitud y realiza una solicitud fetch, parcheando el contenido de respuesta renderizado sin problemas en el DOM del navegador. Esto evita las actualizaciones completas de página, resultando en cargas de página más rápidas y fluidas al tiempo que se preserva más del estado de la página.
La navegación mejorada está habilitada por defecto cuando se carga el script de Blazor (blazor.web.js), y puede habilitarse opcionalmente para formularios específicos. La nueva API de navegación mejorada permite a los desarrolladores actualizar la página actual programáticamente, proporcionando aún más control sobre la experiencia del usuario.
Streaming Rendering
Blazor .NET 8.0 introduce el renderizado en streaming, una poderosa característica que mejora la experiencia del usuario para páginas que ejecutan tareas asincrónicas de larga duración. Con el renderizado en streaming, las páginas pueden renderizar contenido de marcador de posición mientras las operaciones asincrónicas están en progreso.
Una vez completas, el contenido actualizado se transmite al cliente en la misma conexión de respuesta y se parchea sin problemas en el DOM. Este enfoque garantiza que el diseño principal de la aplicación se renderee rápidamente, y la página se actualice tan pronto como el contenido esté disponible.
Inyección de servicios clave
Blazor ahora soporta la inyección de servicios con clave usando el atributo Inject. Las claves permiten delimitar el registro y consumo de servicios en escenarios de inyección de dependencias.
La nueva propiedad InjectAttribute.Key permite a los desarrolladores especificar la clave para el servicio a inyectar, abriendo nuevas posibilidades para la delimitación de servicios.
Acceso a HttpContext como parámetro en cascada
Blazor .NET 8.0 introduce la capacidad de acceder al HttpContext actual como un parámetro en cascada desde un componente de servidor estático. Esta mejora es particularmente útil para inspeccionar y modificar cabeceras u otras propiedades relacionadas con el contexto HTTP.
Renderización de componentes Razor fuera de ASP.NET Core
Blazor .NET 8.0 abre la posibilidad de renderizar componentes Razor fuera del contexto de una solicitud HTTP. Esta flexibilidad permite a los desarrolladores renderizar componentes Razor directamente a una cadena o flujo independientemente del entorno de hospedaje ASP.NET Core.
Esta característica es especialmente útil para escenarios donde es necesario generar fragmentos HTML, como correos electrónicos o contenido de sitios estáticos.
Soporte para secciones
En Blazor .NET 8.0, la introducción de los componentes SectionOutlet y SectionContent revoluciona el manejo de contenido. Estos componentes permiten a los desarrolladores definir marcadores de posición en los diseños, que luego son llenados por páginas específicas.
Las secciones pueden ser referenciadas usando nombres únicos o identificadores de objeto, proporcionando flexibilidad y reutilización en la construcción de diseños web dinámicos.
Soporte para páginas de error
Las aplicaciones web Blazor en .NET 8.0 ahora cuentan con un robusto soporte de páginas de error, permitiendo a los desarrolladores definir páginas de error personalizadas para su uso con el middleware de manejo de excepciones ASP.NET Core.
La página de error predeterminada (Components/Pages/Error.razor) proporciona una experiencia de usuario consistente. Incluso cuando la interactividad está habilitada, la página de error se renderiza como un componente de servidor estático, asegurando estabilidad durante escenarios de excepciones.
QuickGrid De experimental a esencial
QuickGrid, el componente de cuadrícula de alto rendimiento, ha pasado de ser experimental a convertirse en una parte integral del marco Blazor en .NET 8.
Este componente simplifica la visualización de datos tabulares mientras ofrece potentes características como ordenamiento, filtrado, paginación y virtualización. Aprende más sobre QuickGrid en la documentación de ASP.NET Core Blazor QuickGrid.
Ruta a elementos con nombre
Blazor .NET 8.0 introduce soporte para el enrutamiento del lado del cliente para navegar directamente a elementos HTML específicos en una página utilizando fragmentos URL estándar. Al especificar un identificador para un elemento HTML con el atributo estándar id, Blazor se desplaza sin problemas a ese elemento cuando el fragmento de URL coincide con el identificador del elemento.
Valores en cascada a nivel de raíz
Blazor .NET 8.0 mejora los valores en cascada mediante la introducción de valores en cascada a nivel raíz que pueden registrarse para toda la jerarquía de componentes. Los valores en cascada con nombre y las suscripciones para notificaciones de actualización ahora están soportados, proporcionando mayor flexibilidad y control.
Virtualizar contenido vacío
El nuevo parámetro EmptyContent en el componente Virtualize permite a los desarrolladores proporcionar contenido cuando el componente ha cargado y ya sea el elemento está vacío o ItemsProviderResult.TotalItemCount es cero.
Esto permite a los desarrolladores crear interfaces más intuitivas y amigables para el usuario.
Gestión de circuitos y monitorización de SignalR
Blazor .NET 8.0 introduce la capacidad de cerrar circuitos cuando no hay componentes de servidor interactivos restantes. Esta optimización libera recursos del servidor y mejora el rendimiento general.
Además, ahora los desarrolladores pueden monitorear la actividad del circuito entrante en aplicaciones del lado del servidor usando el método CreateInboundActivityHandler en CircuitHandler.
Mayor rendimiento en tiempo de ejecución con Jiterpreter
El Jiterpreter, una nueva característica de tiempo de ejecución en .NET 8, introduce soporte parcial de compilación Just-in-Time (JIT) al ejecutarse en WebAssembly. Esto resulta en un mejor rendimiento en tiempo de ejecución, ofreciendo una experiencia más fluida para los usuarios interactuando con aplicaciones Blazor WebAssembly.
Ahead-of-Time (AOT) SIMD y manejo de excepciones
La compilación AOT de Blazor WebAssembly ahora por defecto utiliza SIMD de ancho fijo de WebAssembly y manejo de excepciones de WebAssembly. Esta elección estratégica mejora significativamente el rendimiento en tiempo de ejecución, proporcionando una experiencia de usuario más eficiente y receptiva.
Empaquetado Webcil para un despliegue fácil en la Web
Blazor WebAssembly ahora utiliza Webcil, un empaquetado web-compatible de ensamblados .NET. Esto asegura compatibilidad en entornos que bloquean la descarga o uso de archivos .dll, abordando desafíos de despliegue. Webcil está habilitado por defecto para aplicaciones Blazor WebAssembly.
Mejoras en la depuración de Blazor WebAssembly
La depuración de aplicaciones Blazor WebAssembly se ha vuelto más fluida en .NET 8. El depurador ahora descarga datos de simbolización desde ubicaciones configuradas en las preferencias de Visual Studio, mejorando la experiencia de depuración para aplicaciones que utilizan paquetes NuGet.
Además, ahora se soporta la depuración en Firefox, requiriendo configuración para la depuración remota y la conexión a través del proxy de depuración de .NET WebAssembly.
Compatibilidad con la política de seguridad de contenidos (CSP)
Blazor WebAssembly en .NET 8.0 elimina la necesidad de habilitar la fuente de script unsafe-eval al especificar una Política de Seguridad de Contenidos (CSP). Esta mejora simplifica las configuraciones de seguridad, facilitando la aplicación de una CSP robusta para aplicaciones Blazor WebAssembly.
Manejo de excepciones fuera del ciclo de vida de los componentes
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 característica permite al código del componente tratar las excepciones como si fueran excepciones de métodos del ciclo de vida, asegurando un mecanismo de manejo de errores más consistente y controlado.
Presentación de Iron Suite
Iron Suite, desarrollada por Iron Software, consta de varias bibliotecas útiles que permiten a los desarrolladores crear potentes aplicaciones Blazor. Proporciona soluciones para añadir funcionalidad PDF, funcionalidad de archivos Excel o CSV, reconocimiento de imagen a texto, generación y lectura de códigos de barras y QR, y la posibilidad de comprimir o extraer archivos.
Iron Suite es la opción perfecta para considerar en el desarrollo web utilizando el modelo de hospedaje de Blazor WebAssembly, o cualquier tecnología de Microsoft, incluyendo la aplicación Blazor WebAssembly, aplicación de servidor Blazor, APP MVC de ASP.NET Core, APIs WEB de ASP.NET Core, o cualquier aplicación construida en tiempo de ejecución .NET, sea cual sea la versión.
Bibliotecas de Iron Suite
- IronPDF para crear, manipular y extraer datos de archivos PDF de manera sencilla.
La función destacada de IronPDF es convertir HTML a PDF, con completa preservación de diseño y estilo. Es perfecto para generar PDFs a partir de contenido web, incluyendo informes, facturas y documentación. Puedes convertir archivos HTML, URLs o cadenas HTML en archivos PDF.
```csharp
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
```- IronOCR (Reconocimiento Óptico de Caracteres) para extraer texto de imágenes escaneadas o PDFs, mejorando la accesibilidad de los datos.
- IronXL para leer, escribir y manipular hojas de cálculo Excel con eficiencia.
- IronBarcode para generar y leer códigos de barras en varios formatos, facilitando la codificación y recuperación de datos.
- IronQR para crear y leer códigos QR usando Aprendizaje Automático
- IronWebScraper para extraer datos valiosos de sitios web, mejorando las capacidades de aplicaciones basadas en la web.
- IronZIP para comprimir y descomprimir archivos, optimizando los procesos de almacenamiento y transferencia de datos.

Qué diferencia a Iron Suite
- Obtenga acceso a toda la suite al precio de sólo dos productos individuales, maximizando el valor de su inversión.
- Ya sea que trabajes en Windows, macOS o Linux, Iron Suite asegura compatibilidad en (casi) todas las plataformas.
- Experimenta un rápido viaje desde la descarga hasta la producción, con la capacidad de estar en funcionamiento en tan solo 5 minutos.
- Accede a documentación detallada y ejemplos para todas las características, proporcionando claridad y orientación durante todo el proceso de desarrollo.
- Un equipo dedicado de ingenieros está disponible 24/5 para asistirte con cualquier consulta, asegurando una experiencia de desarrollo sin problemas.
- Iron Suite viene con una política de reembolso de 30 días, sin preguntas, proporcionando confianza y tranquilidad.
Conclusión
En conclusión, el lanzamiento de Blazor .NET 8.0 marca un hito significativo en la evolución del desarrollo web full-stack con C# y .NET.
La introducción de nuevos modos de renderizado, la plantilla de aplicación web Blazor, la navegación mejorada, y una miríada de otras características lo convierten en una opción atractiva para desarrolladores que buscan crear aplicaciones web modernas e interactivas.
Blazor .NET 8.0 también introduce características interesantes como el manejo mejorado de formularios, renderizado en streaming y la capacidad de inyectar servicios con clave, añadiendo profundidad y flexibilidad al desarrollo.
La introducción de Iron Suite por Iron Software complementa las capacidades de Blazor, ofreciendo un conjunto de herramientas completas para tareas relacionadas con documentos dentro del ecosistema .NET.
Blazor .NET 8.0 empodera a los desarrolladores para crear aplicaciones web robustas y ricas en características utilizando Iron Suite.
La combinación de características poderosas, rendimiento mejorado y el soporte de una vibrante comunidad de desarrolladores posiciona a Blazor como una opción atractiva para el desarrollo web moderno.
Preguntas Frecuentes
¿Cómo puedo convertir HTML a PDF en una aplicación Blazor?
Puede usar el método RenderHtmlAsPdf de IronPDF en una aplicación Blazor para convertir cadenas HTML en PDFs. Este método es compatible con ambos modelos, Blazor Server y Blazor WebAssembly.
¿Cuáles son los nuevos modos de renderizado en Blazor .NET 8.0?
Blazor .NET 8.0 introduce tres nuevos modos de renderizado: renderizado estático del servidor, renderizado interactivo del servidor y renderizado interactivo de WebAssembly, cada uno diseñado para optimizar el rendimiento y la interactividad.
¿Cómo mejora Iron Suite las aplicaciones Blazor?
Iron Suite mejora las aplicaciones Blazor al ofrecer funcionalidades como manejo de PDF, OCR, manipulación de Excel y generación de códigos de barras, que son esenciales para un desarrollo robusto de aplicaciones web.
¿Qué es el modo de renderizado automático interactivo en Blazor .NET 8.0?
El modo de renderizado automático interactivo en Blazor .NET 8.0 combina el renderizado del lado del servidor con la interactividad del lado del cliente, aprovechando el tiempo de ejecución de .NET WebAssembly para un inicio más rápido de la aplicación.
¿Cómo puedo mejorar el manejo de formularios en Blazor .NET 8.0?
Blazor .NET 8.0 mejora el manejo de formularios con una mejor vinculación de modelos, validación de datos y soporte contra falsificación, brindando a los desarrolladores un mayor control sobre la gestión de los datos del formulario.
¿Cuál es el propósito del renderizado en streaming en Blazor .NET 8.0?
El renderizado en streaming en Blazor .NET 8.0 permite el renderizado inicial de contenido de marcador mientras se completan tareas asincrónicas de larga duración, lo que mejora la experiencia del usuario al actualizar la página de forma fluida.
¿Cómo optimiza el desarrollo la plantilla de aplicación web Blazor?
La plantilla de aplicación web Blazor en .NET 8.0 unifica los modelos Blazor Server y Blazor WebAssembly, simplificando el proceso de desarrollo con navegación y manejo de formularios mejorados.
¿Cómo complementa el kit de herramientas de Iron Software a Blazor .NET 8.0?
El kit de herramientas de Iron Software complementa a Blazor .NET 8.0 al proporcionar funcionalidades documentales integrales, mejorando la capacidad del framework para manejar tareas de procesamiento de documentos complejas.
¿Cuáles son las ventajas de usar IronPDF en una aplicación web Blazor?
IronPDF proporciona potentes capacidades de generación y manipulación de PDF, lo que lo convierte en una elección ideal para desarrolladores que construyen aplicaciones web Blazor que requieren características robustas de manejo de documentos.
¿Qué mejoras se han realizado en la depuración en Blazor .NET 8.0?
Blazor .NET 8.0 mejora la depuración para aplicaciones de WebAssembly con descargas mejoradas de datos de símbolos y soporte añadido para Firefox, agilizando el proceso de depuración.








