I'm newbie to .NET. I have some doubts in understanding terminologies .What is the difference between .NET core and .NET 5?

Viewed 84

.NET Framework only supports the Windows platform. .NET core supports Windows, Linux, and Mac OS. .NET Core will not support andriod and ios.

.NET 5 supports Windows,MAC OS,LINUX,Anroid and IOS.

Am i correct in all the above points?

2 Answers

This is not a precise answer but good for a newcomer, prone to be confused and overwhelmed by the official and exhausting information.

There are two parallell platforms.

  1. .NET Framework
  2. .NET Core

.NET 5 will merge those two into a single one. So .NET 5 is the next generation (sort of) of .NET Core. But it't also quite more as well. As for the supporting OS's, you're not wrong but you're not quite right, neither. It's not precisely a yes/no issue. It may support certain features of some OS differently well and corresponding to your need or not. It's a jungle and it's constantly changing.

Now, you might have specific considerations like which should you learn at the moment. On that question - you should go with .NET 5. (Unless there's a specific reason, e.g. job requirement, for you to go with .NET Core 3.x, which is the current version, or .NET Framework 4.x, which is its current dito).

You may also wonder how big is the difference between the platforms. To that, there are two answers. For me, it's humongous - basically day and night. For you, assuming the proficiency level suggested by your question, it's negligible - you won't notice even if it kicks you in the nuts. It's a good thing. You can't pick wrongly.

Another issue might be whether you will be able to deploy your product the requested way. You will be. However, picking another framework may make that easier. It also may make that harder. Bottom line is, you won't know until you're there but the general purpose frameworks will never block you.

.NET 5 is a combined platform which includes libraries and frameworks from the following:

  1. .NET Framework
  2. .NET Core
  3. Xamarin

For Cross-platform based development, the .NET Core framework versions 1.0 to 3.1 covers development of web apps, windows forms apps, server based apps, mobile apps and cloud hosted apps.

ASP.NET Core is the open-source version of ASP.NET, that runs on macOS, Linux, and Windows. Versions are from 1.1 to 3.1 within .NET Core and version 5 for .NET 5.

https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core

ASP.NET is the windows version of ASP.NET, a platform that allows development of web applications hosted on windows servers. Versions are from 1.x to 4.x.

https://dotnet.microsoft.com/apps/aspnet

The Xamarin platform (not part of .NET Core) allows cross-platform Android and IOS mobile development and is included as part of the .NET 5 platform.

https://dotnet.microsoft.com/apps/xamarin

For Windows platform based development, the .NET Framework versions 1.0 to 4.8 covers development of windows client and server applications.

https://docs.microsoft.com/en-us/dotnet/framework/get-started/overview

Due to the confusion with renaming some of the .NET Core frameworks to .NET 5 frameworks, Microsoft has kept the name "Core" in some of it's technologies.

For example, ASP.NET Core 3.1 keeps it's Core name with the new ASP.NET Core 5 framework instead of confusing it with ASP.NET 5 or ASP.NET MVC 5, which are still in use by many developers.

Another example is the .NET Framework based ORM provider Entity Framework 5, and the .NET Core based ORM provider Entity Framework Core 5, both of which keep their names to avoid confusion within the .NET 5 platform.

Depending on what your application development goals are (cross-platform, windows, mobile, server etc.) you can choose the project templates and libraries from .NET Core or .NET Framework compatible packages within .NET 5 (and beyond) that will achieve your goals.

Related