This article is more than 1 year old

Why Microsoft's .NET Core is the future of its development platform

Microsoft is betting on open source fork of .NET Framework to draw cloud customers

.NET Core – optimised for DevOps?

Whether or not .NET Native is used, freeing .NET applications from an operating system runtime fits better with today's development trends, for containerised applications and microservices, distributed applications built from components that can be maintained and updated separately.

The cut-down Nano Server version of Windows Server runs .NET Core but not the .NET Framework; again it is all part of the move towards containerisation and DevOps, automated and continuous delivery of applications.

Note that, UWP apps aside, .NET Core is for server applications, not desktop apps with a GUI. Microsoft is not porting frameworks such as Windows Forms or Windows Presentation Foundation to .NET Core. It is open source though, so it is always possible that the community may come up with GUI frameworks.

There is also a relationship between .NET Core and Mono, the independent open-source .NET implementation founded by Miguel de Icaza back in 2001. Mono does support desktop applications. Now de Icaza is on the board of directors for the .NET Foundation, set up to oversee .NET Core. Speaking at the 2015 dotnetConf event in March 2015, de Icaza said that Mono may eventually be just a runtime core, borrowing both the "Roslyn" compiler and the CoreFx foundation libraries from .NET Core.

.NET Core, Microsoft's fork of the .NET Framework for cross-platform and open source (click to enlarge)

The next question then: why cross-platform and open source? It turns out that these two questions are related. At dotnetConf, Program Manager Immo Landwerth described open source as the "most sustainable way to build a cross-platform stack." The reason given for going cross-platform is to attract new customers to .NET and build a stronger ecosystem, such as third-party libraries and applications that run on .NET.

There are obvious risks for the company in both cross-platform and open source. Microsoft is giving away intellectual property as well as enabling customers to run .NET applications on non-Windows systems, with no revenue from licences.

Internally to Microsoft, the business case for .NET Core always has to be made. Chatting to .NET Foundation folk I get the impression that this is all about Azure, Microsoft's cloud platform. Azure supports Linux as well as Windows, and if you deploy to Azure, Microsoft gets your money whatever operating system you use.

A recently announced partnership with Red Hat would not have been possible without this open source, cross-platform strategy. Red Hat Enterprise Linux is now supported on Azure, and the "reference operating system for .NET Core on Linux", according to the press release.

Another factor is that through .NET Core Microsoft hopes to stimulate use of its languages, including C# and F#, a functional programming language. If you code in these languages, Microsoft has a ton of libraries that will pull you towards SharePoint or Office 365, for example, so that the company can profit from licences or subscriptions there.

More about

TIP US OFF

Send us news


Other stories you might like