Header Ads

.NET Core - Introduction

What is .NET Core?

.NET Core is a new Microsoft platform. Which is modular, cross-platform, open source and have better support for cloud. .NET Core will continue to run on Windows devices, as well as on Linux and Mac OS X. In addition, unlike the .NET 4.6 which is installed machine wide as single large block, Windows-only runtime environment, .NET Core can be used to create modular libraries and applications that can target multiple platforms and deployed (per-application) along with the application itself.

Microsoft’s vision of .NET platform evolved over the past 15 years and many technology enthusiasts, leaders and influencers wanted .NET to be open-source, available to other platforms like Linux and Mac in addition to currently and widely supported Microsoft Windows.

To accomplish this broad and such a large goal and vision it was necessary to have a "fork in the road" and create a fresh and new version of .NET which is named as .NET Core 1.0.

.NET Core is not the same as full .NET Framework that we know already and comes with Windows rather it can be thought of as a subset of .NET Framework. It has the same JIT, MSIL, GC, CLR and other components as that of .NET Framework. The CLR component that gets installed with .NET Core is known as CoreCLR and the libraries (FCL or BCL in the .NET Framework) that we get in a .NET Core App via NuGet is known as CoreFx.

When we write applications with .NET Framework, we usually are tightly coupled with Visual Studio (an IDE which brings the libraries provided by .NET Framework into our application for use). In Windows, the OS hosts the CLR and make our application work against .NET Framework so that all the unused resources get released and unused objects get erased upon getting free, behind the scene for us.

The same experience applies to .NET Core. It comes with a CoreCLR which works the same as .NET Framework. But the CoreCLR differs a little bit. .NET Core comes with a CLI (Command-Line Interface) which we use for running, publishing and managing .NET Core applications. The only difference is that we've to manually host this CoreCLR by using the CLI in terminal.

Now a question raises in mind that with the release of .NET Core for cross-platform .NET Development, can we run all of our.NET application framework such as Windows Form, WPF, WCF and more against .NET Core on any other platform? The answer is, they started with ASP.NET (and C# Console Apps) for running their first product on the top of .NET Core. You can also run UWP (Universal Windows Platforms) apps on the top of .NET Core for some extent. Thats why you see only ASP.NET Core and UWP with .NET Core in image given below. We can also use ASP.NET Core with .NET Framework.

.NET Core - Introduction

No comments:

Powered by Blogger.