Understanding
Difference Between .NET Core Vs .NET Framework Vs
.NET Standard
When
it comes to developing software applications, there are different frameworks
that developers can use. Two of the most popular frameworks are .NET Core
and .NET Framework. While both share some similarities, there are also
some key differences between the two. In this article, we will explore
the .NET Core framework and compare it to the .NET Framework, as well
as discuss the .NET Standard.
.NET Core is a cross-platform, open-source, and modular .NET platform
for creating modern web apps, microservices, libraries, and console applications.
.NET Core is composed of a set of NuGet packages that are distributed
as part of the ASP.NET Core web framework. It includes the runtime, framework,
compiler, and other tools necessary to create and run applications.
.NET Framework is a Windows-only, closed-source platform for creating
traditional desktop apps, web apps, and services. It includes the runtime,
framework libraries, compilers, and other tools necessary to create and
run applications.
.NET Standard is a set of APIs that all .NET platforms must implement
in order to be compatible with each other. This allows developers to create
code that can run on any .NET platform without modification.
The .NET Framework is a software framework developed by Microsoft
that runs primarily on Microsoft Windows. It includes a large class library
named Framework Class Library (FCL) and provides language interoperability
(each language can use code written in other languages) across several
programming languages.
The key difference between .net core and .net framework is that the .net
core is open source whereas the .net framework is not. The other main
difference between .net core and .net framework is that net core can run
on multiple platforms like Windows, Linux, macOS whereas net framework
can only run on Windows platform.
Also, net core supports side-by-side installation meaning multiple versions
of same assembly can be installed in same machine at same time which is
not possible with net framework installed models.
Microsoft started development on the .NET Framework in late 1990s originally
under the name of Next Generation Windows Services (NGWS). By late 2000,
the first beta versions of .NET 1.0 were released. The first version of
.NET Framework was released on 13 February 2002, bringing managed code
to Windows NT 4.0, 98 and ME operating systems. Version 1.1 arrived on
30
.NET Standard is a set of specifications that define how .NET libraries
should work. It is not a new .NET runtime or a new way to write code.
Rather, it is a standardized way of writing code that can run on any .NET
runtime.
This means that code written for .NET Standard can be used on any platform
that supports .NET Standard, including .NET Framework, .NET Core, Xamarin,
and Mono.
NET Standard was created to solve the problem of different .NET platforms
not being compatible with each other. For example, a library written for
.NET Framework might not work on .NET Core because they use different
APIs. By using NET Standard, developers can create libraries that work
on all .NET platforms without having to rewrite their code for each platform.
In order to use NET Standard, developers need to target their code to
a specific version of NET Standard. The current version is 2.0, which
was released in 2017. This version includes many features that were not
available in previous versions, such as support for ASP.NET Core and Entity
Framework Core.
Comparison
.NET Core is a cross-platform, open-source, and modular .NET platform
that can be used to build device, cloud, and IoT applications.
Cross-platform
Open-source
Modular design allowing for customizability
Can be used to build device, cloud, and IoT applications
.NET Framework is a Windows-only, closed-source .NET platform for building
desktop, web, and server applications.
Windows-only
Closed-source
Desktop, web, and server applications
.NET Standard is a set of specifications that defines the core functionality
of .NET platforms. It is implemented by both .NET Core and .NET Framework.
At its simplest, you can think of .NET Standard as an improved version
of Portable Class Libraries (PCLs) with better support for platform diversity.
Like PCLs before it, .NET Standard provides a way for libraries to be
compiled once and used on multiple target platformsincluding .NET
Framework,. NET Core,. Xamarin iOS/Android,. Universal Windows Platform
(UWP), Tizen,. tvOS/. macOS/. NET NanoFramework . In other words:
If it runs on .Netbe it full framework or any other flavor
chances are high that your library will run just fine when targeting the
right version.