It's been years in the making but Microsoft has finally released its open source .NET Core, essentially a stripped down version of the company's full blown .NET Framework that is used to create mobile, desktop and web applications for Windows machines. .NET Core, however, is cross platform, available on Windows, OSX and Linux, making it easier for developers to use .NET for apps on different devices. This is a big deal for .NET and Microsoft as a company as it continues fly the flag for open source. Here's what you need to know.
Microsoft logo image from Shutterstock
Two years ago, Microsoft made its .NET development platform available across all major operating systems, creating different versions of .NET to support this. Since then the company has made strides in converting Microsoft into an organisation that embraces open source with open arms, in stark contrast to its stance in the past.
Microsoft recognised that it has to embrace a world where its software runs on different platforms to assure its survival. It can't make money just by selling software for PCs and servers; open sourcing its offerings brings opportunities to its cloud services. The Azure cloud platform is now increasingly receptive of multiple Linux distributions and open source technology.
The release of .NET Core and ASP.NET Core, derived from the company's server-side web application framework, is a major milestone for Microsoft's long-standing development platform, according to Microsoft program manager Richard Lander:
"This is the biggest transformation of .NET since its inception and will define .NET for the next decade. We’ve rebuilt the foundation of .NET to be targeted at the needs of today’s world: highly distributed cloud applications, micro services and containers."
In the past, different versions of .NET for different platforms didn't have shared functionality for key tasks such as reading local files. .NET Core aims to ameliorate this with its open source cross platform approach. ASP.NET provides an optimised development framework for web apps that are deployed in the cloud or on-premise.
Microsoft's Scott Hanselman highlighted the mammoth effort that went into making .NET Core 1.0 happen:
"I feel like it's the culmination of all these years of work in .NET and Open Source. This is why I came to work at Microsoft; we wanted to open source as much as we could and build a community around .NET and open source at Microsoft. 15 years and the work of thousands of people later, today we released .NET Core 1.0."
More than 18,000 developers from 1,300 companies have contributed to .NET Core 1.0, which also includes a .NET Standard Library for developers to easily repurpose their code for apps running on servers, the cloud and PCs to other devices such as smartphones — with a bit of help from Xamarin. The runtime, libraries, compiler, languages and tools are all open source and can be found on GitHub.
Through a new partnership, RedHat is the first commercial Linux distribution to support .NET Core 1.0.
It's all about making app development on a Microsoft-based Framework more accessible and there's no better way to do that than through open source and cross platform support.
This doesn't mean you can just ditch the .NET and ASP.NET Frameworks as the Core offering only contains a limited number of functions from them. .NET and ASP.NET will continue to be relevant to existing workloads.
.NET core is managed by .NET Foundation, a steward group that is independent of Microsoft. Samsung and Red Hat have both signed up to it.
You can get the .NET Core software development kit for your preferred platform here. Microsoft has released Visual Studio and Visual Studio Code extensions to create .NET Core projects. If you do want to make .NET Core apps on Visual Studio, you'll need to get the newest update.
ASP.Net documentation can be found here.