What is .NET Core? In a few words we'll explain what is .NET Core.
1. What is .NET Core?
.NET Core is a multi-platform, modular .NET Framework.
2. On what platform does it work?
It works on the main desktop operating systems:
- Linux
- MacOS
- And of course Windows
If you want mobile multiplatform then Xamarin should be used.
Why did Microsoft create .NET Core and couldn't evolve .NET?
Initially .NET Core was code-named .NET Framework 5.0.
Then they renamed the product to .NET Core because not all of the .NET Framework APIs were reworked and .NET Core.
Furthermore, the .NET Framework is closely related to Windows which is not the case with .NET Core.
How is it more modular than the .NET Framework?
The .NET framework is installed on the machine, so a machine has one or more .NET frameworks installed on its machine.
While a .NET Core application can be delivered with all its dependencies without the need to install a Framework.
5. Is it more communal?
With .NET Core the entire source code of .NET Core is open source and available on GitHub.
Anyone can fix a bug or propose an improvement.
Is it more efficient?
Yes, the Microsoft teams have spent a lot of time optimizing .NET Core.
The .NET Core 2.1 version is a version that brought a large number of optimizations to .NET Core.
Notable optimisations include:
- l typeintroduction of the types Span and Memory which allow to drastically reduce the number of memory allocations.
- The redesign of HttpClient API/Socket classes that use these two new types internally
- Major improvements in string handling
- Microsoft recently revealed that switching to .NET Core 2.1 from its bing.com site will improve their site speed by over 34%.
What kind of programs can you make in .NET Core?
Currently:
- Web applications with ASP.NET Core
- UWP applications
- Console applications
.NET Core 3.0 announced for early 2019 will support WinForm and WPF but unfortunately only on Windows.
8. When to use .NET Core?
- you have multi-platform needs;
- you're targeting micro services or a Docker container
- You need high-performance applications.
And when is it not appropriate?
- Your application uses the .NET Framework
- Your application uses NuGet packages or third-party .NET libraries not available for .NET Core.
- Your application uses .NET technologies not available for .NET Core.
- Your application uses a platform that does not support .NET Core.