At Microsoft’s Connect(); event last month, their theme was centric to a cloud-first, mobile-first, and developer-first movement. They announced the .NET Core will be open source with the ability to build for and support all development platforms.
.NET has created a set of verticals that include a runtime, framework, and an application model all together. .NET Core explains the commonality of applications that span multiple devices and platforms. Before portable class libraries there was no sharing of code or projects but .NET Core’s use of contract assemblies, designed for proper factoring, to model API sets across verticals will help developers choose what contracts they want to support. Although the development environment is currently running on Windows, it will soon be available on other platforms.
You can think of portable class libraries as an experience that unifies the different .NET verticals based on their API shape. This addressed the most pressing need, which is the ability to create libraries that run on different .NET verticals. It also served as a design tool to drive convergence between verticals, for instance, between Windows 8.1 and Windows Phone 8.1. Unifying separate, well-factored, implementations of the .NET platform allows verticals to share the same implementation.
Since .NET Core will be on GitHub, code reviews and discussions will be open and encouraging sharing of documentation, libraries, and bug fixes! Open sourcing of the runtime will be coming soon!