Blazor

In 2017, at NDC Oslo, Steve Sanderson, Software engineer at Microsoft, unveiled[6] an experimental client-side web application framework for .NET that he called "Blazor".

The demo involved an interactive app running in the browser using WebAssembly, and a rudimentary development experience in Visual Studio.

It enabled server-driven interactive web app that update the client browser via WebSockets.

The Blazor source code was first located in its own repository on GitHub, until it was merged into the ASP.NET Core monorepo.

With the release of .NET 5, Blazor has stopped working on Internet Explorer and the legacy version of Microsoft Edge.

With this change, developers can opt-in per component (or page) whether it should be interactive, and whether it should run on the server or in the browser using WebAssembly.

The following example shows how to implement a simple counter that can be incremented by clicking a button:Blazor apps can be hosted in multiple ways.

This feature makes navigation on a static site much smoother in a way that feels like a Single Page application (SPA).

Prior to .NET 8, there was a project template in which a Blazor WebAssembly app was hosted within an ASP.NET Core application containing Web APIs.

This was removed in favor of the Blazor Web app project template, although the functionality still remains.