Introducing Universal Windows Platform
Windows, prior to the release of Windows 8 (and Windows runtime), exposed a flat set of Windows APIs and COM extensions, allowing developers to access system-level functions. .NET modules that rely on these functions included the Platform Invoke (P-Invoke) statements for this API layer to make use of its operating system-level functionality.
Windows Runtime (WinRT) provided a more accessible and managed development interface that is available for a wide range of development languages. WinRT can be used in common .NET languages (including C# and VB), as well as C++ and JavaScript.
Using the common ground WinRT created, UWP provided the much-needed convergence of multiple platforms within the Microsoft ecosystem. Developers were able to create applications using the same SDK for various devices, which were esoteric targets. Using the UWP development tools, applications with shared modules and user interfaces can target desktop devices, game...