Lately — to the surprise of many — Microsoft has been stepping out of its Windows-centric universe to build cross-platform products and become an active member of the larger open source community. The latest move, announced this week at Microsoft’s Build 2017 user conference, is to equip .NET Core 2.0, just released in preview mode, to utilize APIs introduced in .NET Standard 2.0.
The .NET Standard is an API specification implemented by every major flavor of .NET. Its purpose is to be a uniform base library for all .NET platforms to comply with. Adhering to a unified base library enables .NET developers to build libraries they can “write once and run anywhere.” Now, developers only have to master one base library to create custom libraries consumable by .NET Core, .NET Framework, and Xamarin.
Between .NET Core, .NET Framework, and Xamarin programmers are now able to use .NET Standard to write libraries for Windows, Mac, Linux, iOS, and Android development. All by mastering a single core library. As Microsoft says, it’s “one language to rule them all.”
Breaking the Bottleneck
In this second major release, .NET Standard 2.0 answers complaints from the community about the original .NET Standard library. Specifically that it wasn’t fully featured enough. Version 2.0 more than doubles the API surface area of .NET Standard as well as adds missing essential libraries. These include libraries for Serialization, Networking, IO, Threading, XML, and Reflection; along with thousands of others.
In this instance it’s important Microsoft listened to the .NET community. Up until .NET Standard’s first release in August 2016, .NET libraries were platform specific and could be unpredictable in their ability to be ported. It held back the potential of and divided the .NET suite, in addition to putting a bottleneck around open source developers in the .NET ecosystem.
The classic .NET use case has always been in commercial applications, although this does not change the software developer’s demand for rich and available open source libraries. With open source communities for other languages blooming in recent years, the future of .NET had been unclear. It was apparent the language needed to evolve.
Judging by Microsoft’s recent roadmaps for .NET, their “code once, run anywhere” approach not only aims to unify the .NET suite but also simplifies cross-platform development in .NET. This is a wonderful vision; which the continued rollout of .NET Standard 2.0 realizes.
On an even better note, the code for .NET Standard 2.0 is completely open source. If you’re interested in using it, .NET Standard 2.0 is currently implemented in the .NET Framework and .NET Core 2.0 Preview.
Feature image via Pixabay.