1. What is .Net Core?
.NET is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. It is a cross-platform successor to .NET Framework (source Wikipedia). .Net Core is developed by Microsoft and written in C # and C ++.
First Release in 2016 with .Net Core version 1.0.
In essence, Microsoft first introduced .Net Core on November 12, 2014. This was seen as a cross-platform drive in the development of Microsoft programming.
2. Why was .Net Core born?
There have been some limitations with the .NET Framework such as the fact that it only runs on Windows platforms. Additionally, you need to use different .NET APIs for different Windows devices like Windows Desktop, Windows Phone, and Web Apps.
Also, the .NET Framework when any changes made to it, it affects all the applications that depend on it.
Today, it is common to have an application running on devices; Web server backend, windows desktop and mobile app for consumers.
So we needed a single platform that worked everywhere, and Microsoft created .NET Core. The main goal of .NET Core is to make the .NET Framework open-source and cross-platform compatible, with ease of application, from data centers to various touch devices.
3. Basic components of .NET
Before we learn about the application of .Net Core, we should take a closer look at the basic concept of components in .NET.
.NET consists of the following main components:
3.1. Common Language Runtime (CLR)
3.2. .Net Framework Class Library.
See also this website for info!
There are four .NET implementations that Microsoft supports:
• .NET 5, .NET Core and later versions
• .NET Framework
Each implementation of .NET includes the following components:
• One or More Runtimes
• A Class library
• One or More Application Frameworks
• Developments Tools
Runtime is the execution environment for a managed program. The OS is part of the runtime environment but is not part of the .NET runtime. Here are some examples of .NET runtimes:
• Common Language Runtime (CLR) for .Net Framework, .NET Core (.NET 5)
• .NET Native for Universal Windows Platform
• The Mono runtime for Xamarin.iOS, Xamarin.Android, Xamarin.Mac, and the Mono desktop framework.
3.5. .NET Class Libraries
There are three types of class libraries that you can use:
• Platform-specific class libraries have access to all the APIs in a given platform (for example, .NET Framework, Xamarin iOS), but can only be used by apps and libraries that target that platform.
• Portable class libraries have access to a subset of APIs and can be used by apps and libraries that target multiple platforms.
• .NET Standard class libraries are a merger of the platform-specific and portable library concept into a single model that provides the best of both.
To extend functionality, Microsoft and others maintain a healthy package ecosystem built on .NET Standard.
NuGet is a package manager built specifically for .NET that contains over 90,000 packages.
3.6. Toolings and common infrastructure
3.6.1. Visual Studio
Visual Studio is written in 2 languages that are C # and VB +. These are 2 programming languages that help users program the system easily and quickly through Visual Studio. Besides, Visual Studio also allows users to choose the main interface for their machine depending on their needs.
Microsoft Build Engine, also known as MSBuild, is a free and open-source builder tool that is set for managed code as well as native C ++ code and is part of the .NET Framework. Visual Studio depends on MSBuild, but not vice versa. The Visual Studio application lifecycle management depends on MSBuild to do team building through Azure DevOps Server.
3.6.3. Command-line interface (CLI)
NET Core command-line interface (CLI) is a cross-platform tool that allows building, developing, running, and publishing applications on the .NET Core platform through the command-line interface.
4. What are the differences from .Net Framework?
.Net Framework first appeared in 2001 and was officially released in February 2002.
.Net Framework has a total of 10 versions before being replaced by .Net 5 released in November 2020.
The .NET Framework is a programming platform and also a platform to execute applications primarily on the Microsoft Windows operating system developed by Microsoft. Programs written on the .NET Framework are deployed in a software environment (as opposed to a hardware environment) known as the Common Language Runtime (CLR). This software environment is a virtual machine that provides services such as software security, memory management, and exception handling.
.NET Core shares the same principles and ideas as the .NET Framework but towards cross-platform operations (running on CoreCLR environment), modularity, and higher performance. .NET Core can be deployed on Linux, Mac OS, and Windows.
5. When use .Net Core?
You are looking to fulfill your application goals on Windows, Linux, and Mac operating systems. Applications include mobile apps, desktop apps, and Web apps.
Being someone who has the spirit of learning, is not afraid of mistakes, not afraid to fix them because .NET Core is still incomplete. .Net Core is not as well supported by Microsoft as the .NET Framework.
You have cross-platform needs: If the goal is to be able to own an application capable of running on all .Net platforms, the choice should be .Net Core.
Microservices development: It is necessary to build applications in a complex, modular form with decoupling capabilities and each module can use different technologies. Speaking of which, .Net Core is one of the most accurate options.
If your system needs the best performance and scalability even if there are many users, .NET Core and ASP.NET Core will still be the brightest supporters you should choose.
6. Latest innovations from Microsoft
As we all know, Microsoft announced .NET 5 from the Build 2019 conference and officially released it in November 2020. This shows that .NET will work on top of the .NET Standard. As mentioned above, .NET currently has 2 operating platforms in parallel, .NET Core (3.1 being the last version) and .NET Framework (4.8 being the final version).
The .NET platform of the future will be the amalgamation of all current .NET platforms. There are no longer “nicknames” attached to distinguish as today (Core, Framework). All agree on a common name .NET.
To confirm this is not a new building platform (as when .NET Core came out), but not simply a development from an existing platform, the group chose to simply name. is .NET, and specifies the version as 5. It represents inheritance and consolidation.
Accordingly, there will be no more .NET Core 4. Version 3 is the final release of .NET Core. There will also be no more successive versions of the .NET Framework. 4.8 is the final version of the .NET Framework.
After that, there will be only one .NET, and starting with version 5. Microsoft plans to release a new version of .NET each year at the end of the year.