Blazor is at its best when the team is already comfortable with .NET and the area is internal. You skip a JavaScript stack, you keep types end-to-end, and you compose UI inside the same solution that owns the data model.
Default to Server. The connection state is your friend for internal users on a stable network, and SignalR makes real-time dashboards trivial. WebAssembly wins when offline matters or when the edge is closer to the user than the API.
Component design is where Blazor projects get bloated. Treat Razor components like primitives: small, typed parameters, no global state, predictable rendering. The fewer surface points, the cheaper the audit.
Tests run with bUnit for components and Playwright for flows. The boring stack is the durable one.
Tags
- #blazor
- #dotnet
- #engineering