CoreCLR is the new .NET framework runtime Core, which aims to facilitate building applications that use the .NET stack horizontally.
Microsoft has announced the publication .NET Core which is licensed Open Source and the road map to be able to run .NET applications on Linux and OSX in the near future.
At the origin was .NET framework
.NET In its inception back in 2002, was composed of a single, monolithic framework. But soon appeared .NET Compact Framework, which was a specific subset for small devices such as Windows Mobile actually.
Since then, it is practical to go frameworks ripping its own right has been repeated over time, as with Silverlight, Windows Phone, Windows Store, etc, resulting in unwanted increasing problems related to fragmentation.
These are related to the difficulty of constructing horizontal applications involving the use of different vertical .NET framework, due to the differences and incompatibilities that led to the different evolution of each.
A clear example that every .NET developer knows, is to build an application that runs on the desktop in Windows 8 touch interface and the Web. Being in some cases almost a mission impossible, the only solution to have three separate and parallel projects.
To mitigate this fragmentation, born portable libraries and .NET concept of change – that everything revolves around the library mscorlib – for the simple assembly, single responsibility, called contracts; constituting a horizontal API for interacting with different frameworks.
Another problem of the architecture of .NET is the way to unfold. Currently, whatever the application requires the entire framework and major extensions; the compiler being responsible to remove what is left.
This is an advantage with software compatibility and stability, it can become a problem if your code uses a feature that is modified in a later version of .NET and that causes the application to break. Yes, the risk of this happening is just under 1%, but it can mean millions of users with problems.
.NET Core, a new path
.NET Core is part of the latest .NET 2015 and aims to solve the problems described in the previous section.
Share compilers and runtime libraries with the “classic” framework, but represents a very important change of direction.
It is a modular framework with the aim of being simple to use against different technology stack, with powerful scaling capabilities under Open Source license and will be supported on Windows, Linux and OSX. Born with guidance to simplify the development and deployment of Windows Store and ASP.NET five applications, building a unified base class library to remove rigidities caused by these two so different vertical stack (BCL).
Below would be an adaptation layer that would execute code that would allow both native .NET Runtime, and the new CoreCLR.
And to ensure that at all times deployments include the correct version of the different libraries that make up the application, .NET Core uses the power distributor NuGet packages; making it part of the core of the new framework and accessing a new level of flexibility and optimization of code required to run the software.
CoreCLR, the heart of the beast
From the blog of .NET framework, has just announced the publication in Github, licensed Open Source, CoreCLR, Core .NET runtime.
This runtime allows, among other things, the compilation to machine code or automated tasks of the garbage collector. And can be used as a basis for a wide variety of scenarios developments.
Even, and is what most caught my attention is already announcing the opening within a few months of projects on GitHub versions for Linux and Mac OSX. Which would give another twist to the new policy of MS to be present on all platforms.
In the GitHub repository we will find more than 2.6 million lines, which now make up CoreCLR. And to study or contribute to the project not only we know C # and C ++ in depth, otherwise we will have to have Visual Studio 2013 development environment CMake (3.0.2) and Git tools.
Via | .NET Framework blog