Frontend: Blazor
Blazor in .NET 8/9/10 unified the previously-separate Server and WASM worlds with render modes (Static, Interactive Server, Interactive WebAssembly, Auto). This section covers the modern model in depth — the framework most likely to come up in MS-ecosystem interviews.
Topics (canonical order)
-
Render Modes — Server, WASM, Auto
Static SSR, Interactive Server, Interactive WebAssembly, Auto, when each fits
-
OnInitialized,OnParametersSet,OnAfterRender, state across render modes -
EditForm, validators, server vs client validation, FluentValidation integration -
IJSRuntime,IJSObjectReference, prerender handling, the "WASM not loaded yet" trap -
<Virtualize>,ShouldRender, render-tree diffing, perf measurement -
Blazor WASM PWAs, service workers, offline,
MapStaticAssetsintegration -
AuthenticationState,[Authorize], persistent state across render-mode boundaries -
BlazorWebView in MAUI/WPF/WinForms, native interop, sharing components with web Blazor
-
Consuming external Web Components in Blazor; emitting Blazor components as Custom Elements
Why this order
Render modes lead because they're the unifying mental model — every other Blazor topic depends on which render mode you're in. Lifecycle → forms → JS interop → perf walks from "writing components" to "making them fast". PWA + auth close as concerns that span the whole app.
Cross-references
- Render modes reference Static Assets & MapStaticAssets.
- Auth references OAuth2 & OIDC Flows.
- SignalR for Blazor Server is in SignalR.