Overview of Blazor Server
Blazor Server is an ASP.NET Core web application that initially sends a page to the browser. Then, the browser updates part of the UI over a SignalR connection. The application becomes an automated AJAX client-server app on steroids. It is a mix of classic web apps and a SPA model, where the client loads the UI pieces to update from the server. So, less processing for the client and more processing for the server. There can also be a short delay (latency) since you must wait for a server response (steps 2 to 4); for example:
- You click a button in the browser.
- The action is dispatched to the server through SignalR.
- The server processes the action.
- The server returns the HTML diff to the browser.
- The browser updates the UI using that diff.
To make that diff (step 4), the server keeps a graph of the application state. It constructs that graph using components, which translates into Document Object Model (DOM) nodes...