Write Blazor UI as plain C#
BlazorCodeFirst turns a design-time Body expression into a RenderTreeBuilder method at compile time. There is no runtime UI tree, no reflection, and no runtime expression compilation — the generated component is an ordinary Blazor component.
This site is itself built with BlazorCodeFirst and published as prerendered static HTML.
Documentation
Live demo
Counter exercises events, If, and keyed ForEach.