What is Blazor?

Blazor is a web technology typically paired with a Microsoft ASP.NET Core server (WebAPI or RESTful API when using WebAssembly). It allows one to program in C# for both client and server side. It is implemented with two distinct architectures: client-side rendering and server-side rendering.

The client-side rendering, which relies upon WebAssembly, requires that more code be downloaded initially, but it is very efficient with regard to server-side operations, and this code need be downloaded only once. It is stateless. The client-side happens thanks to most browsers supporting a technology known as web assembly. The idea here is to offload processing from the server and onto the client thereby supporting more users.

The server-side rendering works more like a traditional HTTP server except that it is not stateless as there is a connection always open between the server and client. Also, the client code is prepared in the server’s memory and then sent to the client. This is less efficient, but there maybe some special applications that could benefit from such an architecture. The client page does not need to reload when changes are made. Only the "Document Object Model" is updated just like with the client-side architecture.