Microsoft recently announced the release of .NET Core 1.0, a truly cross-platform runtime and development environment. It is a significant milestone in Microsoft's commitment to fully open and platform-agnostic computing. It supports Windows (duh!), Linux, Mac OSX, iOS and Android.
The transition over the years from a Windows-centric view to fully embrace other platforms, as well as the open source model (yes, .NET is now open source via the .NET foundation, is very impressive. Another interesting aspect is that Microsoft made the announcement at the Red Hat summit together with Red Hat, who will officially support .NET Core in its enterprise product.
In addition, Microsoft also announced ASP.NET Core 1.0, which unifies ASP.NET MVC and WebAPI. ASP.NET Core 1.0 can run on top of either .NET Core 1.0 or the full-fledged .NET framework. Exciting days are ahead for .NET developers whose skills, and the famous .NET productivity, suddenly become even more widely applicable through Microsoft's efforts.
Some of the distinctive features of .NET Core 1.0, in addition to its cross-platform abilities, are:
- Flexible deployment (Can be included in your app or installed side-by-side user- or machine-wide)
- Command-line tools (The 'dotnet' command. You don't need to rely on IDE although there is great IDE support too)
- Compatibility (It works with the .NET framework, Xamarin and Mono)
- Open Source (MIT or Apache 2 licenses, the documentation is open source too)
- Official support from Microsoft