Add Blazor Components architecture overview - #69147
Conversation
Document the Components subsystem composition, runtime models, architectural boundaries, historically grounded design principles, subsystem map, and terminology. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The architecture map currently points to focused ARCHITECTURE.md files that aren’t present yet, which creates broken/unclear navigation in the new documentation.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds a top-level architecture overview for Blazor Components (src/Components) to give contributors a shared mental model of subsystem responsibilities, layering, runtime compositions, and cross-cutting boundaries across SSR, Interactive Server, Interactive WebAssembly, Auto, and Hybrid/WebView.
Changes:
- Introduces a new
src/Components/ARCHITECTURE.mdcovering architectural layers, runtime compositions, and cross-cutting boundaries. - Adds mermaid diagrams (composition + sequence diagrams per hosting model) to visualize dependency direction and runtime communication.
- Adds an “Architecture Documentation Map” and “Finding the Right Subsystem” lookup table to guide contributors to the right ownership boundaries.
File summaries
| File | Description |
|---|---|
| src/Components/ARCHITECTURE.md | New top-level Blazor Components architecture overview, including diagrams, principles, and a subsystem navigation map. |
Review details
Suppressed comments (2)
src/Components/ARCHITECTURE.md:334
- These Architecture entries refer to focused
ARCHITECTURE.mdfiles that don’t exist yet (currently onlysrc/Components/ARCHITECTURE.mdexists). Consider using a placeholder likeTBDhere until the follow-up documents are added, then replace with links.
| Endpoints | ASP.NET Core endpoints, static SSR, prerendering, streaming rendering, forms, and render-mode activation | `Endpoints/ARCHITECTURE.md` |
| Server | Interactive Server circuits, server renderers, reconnection, and browser transport | `Server/ARCHITECTURE.md` |
| WebAssembly | Browser-hosted .NET startup, rendering, and application execution | `WebAssembly/WebAssembly/ARCHITECTURE.md` |
| WebView | Native-process component execution and embedded web-view rendering | `WebView/WebView/ARCHITECTURE.md` |
src/Components/ARCHITECTURE.md:345
- Like the sections above, these Architecture entries point to focused
ARCHITECTURE.mdfiles that aren’t present yet. Marking them asTBDuntil the docs are added would make it clearer that these are planned follow-ups.
| Authorization | Authentication-state propagation and authorization components | `Authorization/ARCHITECTURE.md` |
| Forms | Form coordination, editing state, validation, and input components | `Forms/ARCHITECTURE.md` |
| QuickGrid | Data-grid composition, virtualization, sorting, and data-provider integration | `QuickGrid/Microsoft.AspNetCore.Components.QuickGrid/ARCHITECTURE.md` |
| Custom Elements | Exposing components through the browser custom-elements model | `CustomElements/ARCHITECTURE.md` |
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| | Subsystem | Responsibility | Architecture | | ||
| |---|---|---| | ||
| | Components | Host-independent component model, render trees, renderer coordination, lifecycle, and event dispatch | `Components/ARCHITECTURE.md` | | ||
| | Web | HTML-oriented components, browser event abstractions, navigation, and shared web rendering behavior | `Web/ARCHITECTURE.md` | | ||
| | Web.JS | Browser bootstrapping, DOM rendering, navigation enhancement, events, and the JavaScript side of framework protocols | `Web.JS/ARCHITECTURE.md` | |
Include Gateway, WebAssembly Server, WebAssembly Authentication, and AI, and clarify where related extension assemblies are documented. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Summary
The focused subsystem
ARCHITECTURE.mddocuments will be added incrementally in follow-up changes.