After working so many years on .NET Framework, now it’s time for .NET Core. What has changed and why has it changed ? Let’s understand it in this article.
Content
- What is .NET Core?
- What is new about this framework?
- Getting started with .NET Core.
- Developing sample web application, using CLI.
What is .NET Core?
It is a new framework which was developed from scratch parallel to .NET 4.6 (Visual Studio 2015). Previously, it was named as .NET 5.0. Because of this, there was a confusion among developers that this framework is a successor of .NET 4.6, but that was not the truth. It is totally a new and different framework.

Image source: https://blogs.msdn.microsoft.com
You can see that in this release of new framework, a lot of new things got added, such as CoreCLR & CoreFX, replacing our traditional framework CLR & FCL which were bound to Windows platform. CoreCLR basically includes the garbage collector, JIT compiler, base .NET data types, and many low-level classes. On top of .NET Core, we have ASP.NET Core 1.0 and then, ASP.NET Core MVC.
Lots of buzz was going on in the market regarding this framework and given below is what we get.

What is new about this framework?
- Cross platform



We know .NET framework runs only on Windows platform. But, what about the developers working on other platforms? They were using Mono Framework, an open source framework compatible with .NET. This was not the product of Microsoft but supported this framework. With growing developers among different platforms, it became a must to make .NET Framework work with cross-platforms.
Developers of Windows were able to develop their application using the most powerful IDE i.e.- Visual Studio. But what about the Linux or Mac developers who don’t have such IDE like Visual Studio? Good news with this framework is that no more Visual Studio is needed for development. You can use any editor for development and can execute it using console.
To make it work on a cross platform, Microsoft built up a new set of runtime & libraries called CoreCLR and CoreFX which they compiled for every platform and generated builds.
With making .Net Core a Cross Platrom, Microsoft removed the tightly IIS bound "System.Web" and made it "Microsoft.AspNetCore" which will work for all platform hosting environment. - Open source

With the world moving towards open source, Microsoft made this framework totally an open source. Also, the source code is available on GIT. You can now easily customize this framework according to your need. - Optimized .NET runtime & libraries

With these changes, Microsoft also made changes to its libraries which were available in our GAC on installation of .NET Framework.
One example that I can think of, is “System” library.
The “System” library consists of many logical libraries, such as System.IO, System.Net, System.Configuration, etc. which getsloaded into memory every time you use “System” library. But, do you think there is a need to load the whole library when only a portion is needed? Suppose I need only System.IO, then my project should only refer System.IO instead of System as a whole. To make it a light weight and optimized, .NET Core now supports nuGet packages for each of this logical library and they will no more refer from GAC (which was available only on Windows platform) - Introduction to CLI

.NET Core also introduces a Command line application called as dotnet.exe. This application allows us to, - create an application
- execute the application
- run the Intermediate language
- host the CLR
for any platform. - Completely modular
Every time when there was a new feature added in any component of .NET framework, a new version was released by Microsoft. For example – with ASP.NET MVC, there was a routing concept introduced untl ASP.NET MVC 4 which was there in Visual Studio 2012 (.NET framework 4.5). But with ASP.NET MVC 5, they introduced something called as Attribute Level Routing which was added in Visual Studio 2013 (.NET Framework 4.5.1). This kind of change in components may lead to introducing new release of framework version. But now, that is all gone with .NET Core, where everything is nuGet package. It became very easy to upgrade the component as it will introduce the release of nuGet package and not the whole framework. This makes everything modular. - Cloud ready environment
With .NET Core, we can build cloud based internet connected applications, like Web Apps, IOT apps & mobile backend.













Balaji MogadaliPosted Oct 11, 2017, 2:09 AM
Nice , it provided basic stuff for learners from scratch :)
Anu VPosted Sep 26, 2016, 11:47 PM
Nice..
Muhammad Aqib ShehzadPosted Sep 15, 2016, 5:49 AM
Fantastic article. keep sharing
Saineshwar BageriPosted Sep 14, 2016, 6:59 AM
Nice Article
Suresh MolabantiPosted Sep 14, 2016, 6:23 AM
Nice
Vishal PrajapatiPosted Sep 14, 2016, 6:08 AM
Nice article