Adsense

Showing posts with label DotNet. Show all posts
Showing posts with label DotNet. Show all posts

December 30, 2020

.NET key concepts and introduction of .NET Core

What is .NET Core? Is this the future of .NET? Is this will obsolete the existing platform? Is this backward compatible? If all this are buzzing in your mind, please take a cup of coffee and go through the below topic, I promise you when you have your last sip of coffee you will have brief idea about this booming topic.

Basic of .NET

.NET is a free, open-source development platform for building many kinds of apps. .NET is open source, using MIT and Apache 2 licenses. A .NET app is developed for and runs in one or more implementations of .NET. .NET Framework, .NET 5 (and .NET Core), and Mono are the three most important implementations of .NET. Below are the key concepts of .NET.

 

What is .NET Standard?

There are various implementations of .NET. Each implementation allows .NET code to execute in different places—Linux, macOS, Windows, iOS, Android, and many more. .NET Standard is a formal specification of the APIs that are common across all these .NET implementations.

The relationship between .NET Standard and a .NET implementation is the same as between the HTML specification and a browser. The second is an implementation of the first.

Each .NET version has an associated version of the .NET Standard. .NET Standard is defined as a single NuGet package because all .NET implementations are required to support it. Tooling becomes easier because the tools have a consistent set of APIs to use for a given version. You can also build a single library project for multiple .NET implementations.


.NET Ecosystem

.NET includes the below components for each implementations:

.NET Ecosystem



.NET Implementations

There are four .NET implementations that Microsoft supports:

.NET Implementations


 Glimpse of .NET Implementations

.NET Implementations

What to choose when? (.NET Framework and .NET 5(including .NET Core))

Microsoft maintains both runtimes for building applications with .NET, and they share many of the same APIs. This shared API is what is called the .NET Standard.

.NET 5


Pick .NET 5

ü  If there is a new application to build, and have a choice between .NET Core and .NET Framework, .NET Core is the way to go.

ü  If the application need cross platform implementation(Windows, Linux, and macOS)

ü  Microservice architecture supported, so it allows the cross platform service developed under .NET framework, Ruby, Java etc communicate within another

ü  Containers are the VMs of today. .NET Framework can be used on Windows containers but .NET core is more modular, flexible and lightweight and after containerize because of it’s cross platform nature it can deploy in various Docker(ex:- Linux Docker containers)

ü  .NET CORE is one of the best performing one among web based frameworks in terms of performance and scalability 


Pick .NET Framework

ü  If existing application is .NET framework and there is no mind to change it

ü  The old technologies are using in the project which are not yet incorporated in .NET CORE(ASP.NET webforms , Visual Basic and F#)

ü  In cases where the libraries or NuGet packages use technologies that aren't available in .NET Standard or .NET 5 then it is required the .NET framework.


Happy Learning :)

Read More »