.NET 5 shipped in November 2020, marking the convergence of the.NET Framework and.NET Core into a single platform. The early 2021 state of the ecosystem reflects the impact of that convergence.

.NET 5 ecosystem adoption

The.NET 5 adoption curve was faster than.NET Core's initial releases. The clear messaging ('this is the future of.NET,.NET Framework 4.x is maintenance mode') reduced migration hesitation. NuGet package authors updated to support.NET 5 quickly. The Visual Studio 2019 tooling was first-class from launch. The ecosystem is healthy with active framework development and growing community contributions.

Blazor WebAssembly in production

Blazor WebAssembly (running.NET code in the browser via WebAssembly) reached production adoption in 2020-2021 for internal enterprise applications where SEO is irrelevant and.NET developer reuse is valuable. Load times and payload size remain challenges: a Blazor WASM app downloads the.NET runtime and the application assemblies on first load. Ahead-of-time (AOT) compilation (added in.NET 6) reduces payload size but increases build time. For internal tooling, Blazor WASM is a viable choice; for public-facing applications, the load time cost is significant.

Source generators

C# source generators (GA in.NET 5) allow code to be generated at compile time based on user-written code. The use cases: generating serialisation code (System.Text.Json source generation), generating regular expression code (compiled regexes), generating INotifyPropertyChanged implementations for MVVM. Source generators replace reflection-heavy runtime code generation with compile-time code generation, improving startup time and enabling AOT compilation scenarios.

The F# community

F# continues to be a well-regarded functional language on the.NET platform with a dedicated and vocal community. Ionide (the VS Code F# extension) is actively maintained. F# 5 shipped with.NET 5 bringing nameof expressions, open type declarations, and Jupyter notebook support. For data science and analytical workloads on.NET, F# is the natural choice. The mainstream adoption it has always aspired to has not materialised, but the language continues to influence C# feature design.