El lenguaje dominante en el desarrollo Web interactivas es Javascript o en su defecto un framework basado en Javascript (React, etc).
Esto obligaba a los desarrolladores .NET que deban aprender un lenguaje fuera de su dominio (React, Angular, Vue.js, etc.)
Blazor es un framework desarrollado por Microsoft, capaz de alcanzar toda la potencia de pagina SPA moderna pero sin entrar en contacto con código Javascript, para ello solo se vale de C# y Razor.
Blazor es el acrónimo de Browser y Razor, heredando de ASP.Net a Razor y C# como lenguajes.
El objetivo es prescindir de Javascript y todo las desventajas que implica utilizar un lenguaje no tipado.
Blazor presenta dos enfoques para el hospedaje:
Blazor Server: se construye el DOM en el servidor y se envía al cliente. Es el modelo más parecido al Web Forms de .NET. La interacción entre cliente y servidor es través de SignalR, lo que aporta un nivel de tecnología muy interesante para mejorar la experiencia del usuario.
Blazor WebAssembly o WASM: WebAssembly es un estándar que permite ejecutar código binario en un navegador web para ofrecer un rendimiento a mayor que Javascript. La diferencia con otras tecnologías similares (Adobe Flash, Silverlight, etc.) es que no se requiere el uso de ningún plugin, es soportado en forma nativa por los navegadores desde el año 2017
Puedes ver en este link el soporte que tiene actualmente en los navegadores https://caniuse.com/wasm
Ventajas
El servidor web envía al navegador las librerías compiladas, y el navegador ls ejecuta por lo que libera al servidor de todo lo concerniente al código de que se ejecuta en cliente.
Dispone de un servicio IJSRuntime que permite la interoperatibilidad entre Blazor y Javascript
Podemos compartir clases entre cliente y servidor, reutilizando clases del tipo Data Transfer Object o DTO