A few days ago, I was listening a .NET Rocks podcast and the guest commented the different flavors (pain?) we have today.for NET. When we think in. NET, we always think in .NET Framework, but is easy get five or more different versions of. NET.: Xamarin, Mono, Silverlight, .NET Core, .NET Compact Framework and others. Those are different versions of what initially was thought in a single platform.
So today, when the product team announced .NET Standard they presented this scenario with this amazing picture:
This is the main reason to create .NET Standard as a single set of APIS which must be implemented in all the .NET platforms. Another view of this is to think in a base class library with the basic features we need when we build an application. Regardless of whether it is for cloud, desktop, mobile, etc.
I think that this gives a good idea of what you can expect from .NET Standard in the future. While the points that are discussed in the post are also interesting:
- .NET Standard is a set of APIs that all .NET platforms have to implement. This unifies the .NET platforms and prevents future fragmentation.
- .NET Standard 2.0 will be implemented by .NET Framework, .NET Core, and Xamarin. For .NET Core, this will add many of the existing APIs that have been requested.
- .NET Standard 2.0 includes a compatibility shim for .NET Framework binaries, significantly increasing the set of libraries that you can reference from your .NET Standard libraries.
- .NET Standard will replace Portable Class Libraries (PCLs) as the tooling story for building multi-platform .NET libraries.
- You can see the .NET Standard API definition in the dotnet/standard repo on GitHub.
Greetings @ Toronto