Hacker News new | ask | show | jobs
by UglyToad 971 days ago
I can try but will doubtless miss something.

.NET Framework was the .NET we all knew and tolerated. It was on version 4.6/7 or so. Windows specific, requires a full install of the framework on the machine to run. Support for Winforms, WPF, WCF, Webforms, ASP.NET MVC/API etc.

Microsoft wants to make a play for the cloud. Windows Server is expensive and no one likes it. Luckily for Azure OS is irrelevant, whichever server Microsoft still gets paid.

Step forward .NET Core. This takes the .NET runtime and makes it cross-platform (and open-source). Only really supports ASP.NET in the beginning. There are some libraries/APIs that are available in both .NET Framework and .NET Core runtimes. This common interface is .NET Standard, you can basically ignore this now I think but it means libraries can be used from both.

.NET Core goes through multiple versions, 1, 2 and 3. More things are ported to .NET Core but Winforms, WPF and Webforms are left behind. Meanwhile Core becomes a better and better platform for web servers.

.NET Core drops the 'Core' naming, becomes .NET starting at .NET 5. .NET Framework is legacy but gets a bump to .NET 4.8 or so. So basically unless you're doing Winforms/WPF/Webforms you can be on .NET Core/.NET 5+ with minimal issues. Hopefully that clears something up.

1 comments

You can use .NET 6/7/8 together with WPF or even WinForms if you want to. Everyone is happy to see WebForms die and the other two run on new targets out of the box.
Presumably that's only when using the Windows platform identifiers? This is news to me, thanks for the correction.