Saltar al contenido
Framework Ecosystems LabsUn contrato, muchos ecosistemas, la misma prueba.

🔥🟦 Blazor — 2018#

⬅️ Atlas · 🟦 Ecosistema .NET · 🗂️ Índice

Blazor permite escribir componentes de interfaz en C# y ejecutarlos en el navegador con WebAssembly o en el servidor, con el mismo código. Esa dualidad lo convierte en el mejor banco de pruebas del catálogo para el módulo 04: el mismo componente, dos lugares de ejecución.

Aparición 2018
Clasificación component-framework
Ecosistema .NET (C#)
Licencia MIT
Estado 🟢 Activo
Documentación https://learn.microsoft.com/aspnet/core/blazor/

🎭 Dos modelos, un código#

WebAssembly Servidor
Dónde se ejecuta Navegador Servidor
Descarga inicial El runtime .NET: grande Mínima
Latencia de interacción Nula: es local Un viaje de red por interacción
Funciona sin conexión No
Estado por usuario en servidor No Sí, una conexión abierta
Acceso directo a la base de datos No

La columna de servidor es exactamente el modelo de Phoenix LiveView: estado en el servidor, diferencias por una conexión persistente. Y arrastra su misma restricción —una conexión con estado por usuario— sin la máquina virtual que la hace barata, lo que limita cuánto escala.

Poder comparar ambos modelos con el mismo código es una oportunidad didáctica poco frecuente [blazor-webforms], [webassembly-org].

🧬 La idea que vuelve, corregida#

Blazor recupera el modelo de componentes con estado en servidor de Web Forms, y la comparación es instructiva:

Web Forms (2002) Blazor servidor (2018)
Transporte del estado Campo oculto gigante en cada envío Conexión persistente, solo diferencias
Modelo de programación Eventos sobre controles Componentes declarativos
Ciclo de vida Muchas fases implícitas Explícito
Relación con HTTP Oculta Visible

La idea no era mala; el mecanismo de 2002 sí tenía un coste que el de 2018 no tiene. Es una de las conclusiones que el Atlas repite: las ideas vuelven, corregidas por lo que se aprendió.

⚖️ Lo que hay que declarar#

1. El tamaño inicial en WebAssembly. Descargar un runtime completo es un coste real que hay que medir con red limitada, como exige el módulo 04.

2. Cruzar hacia el documento tiene coste. El mismo problema que describe la ficha de Yew: WebAssembly no toca el DOM directamente.

3. El modo servidor cambia la operación. Conexión con estado significa afinidad de sesión y reinicios no transparentes — requisitos del módulo 12.

🎓 Las dos lecciones#

1. El mismo componente en dos lugares de ejecución hace visible el compromiso. Es un laboratorio de renderizado dentro de un solo framework.

2. Una idea descartada puede volver cuando cambia su mecanismo. El estado en servidor era inviable con campos ocultos y es viable con una conexión persistente.

🔗 Enlaces#

Fuentes#