A clear-eyed assessment of the.NET platform entering 2019: what.NET Core has delivered, where.NET Framework still lives, and where the platform is headed.
The.NET Core story so far
.NET Core 1.0 launched in 2016 as a cross-platform, open-source re-implementation of.NET. The initial releases were performance-focused and intentionally lean..NET Core 2.0 (2017) broadened the API surface significantly..NET Core 2.1 (May 2018) is the LTS release that most production.NET Core workloads run on in early 2019. The performance numbers (TechEmpower benchmark results, ASP.NET Core startup time) demonstrate that.NET Core is a genuine high-performance platform, not a diminished port.
The.NET Framework reality
.NET Framework 4.7.2 and the recently released 4.8 are still where most enterprise.NET code runs. Windows-only, tightly coupled to IIS and the Windows runtime, and carrying 18 years of API surface. The migration from.NET Framework to.NET Core is real work: not all APIs are available, Windows-specific dependencies (COM interop, Windows Authentication, some Reporting Services components) require attention, and the IIS-to-Kestrel mental model shift takes adjustment. For large organisations, the migration is measured in years, not weeks.
What the unification looks like
Microsoft has committed to a single.NET platform:.NET 5 (announced for November 2020) will be the unification of.NET Core and.NET Framework. The naming (.NET 5, not.NET Core 5 or.NET Framework 5) is deliberate, one platform, one name, going forward. The Xamarin cross-platform mobile stack will be folded into MAUI. The consolidation addresses the fragmentation that has made the.NET ecosystem confusing to outsiders and migration-planning difficult for insiders.
Why this matters for new projects
For a new project starting in 2019:.NET Core 2.1 LTS is the production-ready choice for web APIs, microservices, and command-line tools..NET Core 3.0 (September 2019) will bring desktop application support (WPF, Windows Forms). If your project requires.NET Framework-specific capabilities (heavy WCF server, MSCOM interop, some legacy ASP.NET HttpModules), stay on.NET Framework for now and plan a migration. If not,.NET Core is the forward-looking platform.