WinRT components
Windows 8 provides a common API for applications developed in C++, C#, or Javascript to work with. It would be a lot of work to rewrite the API, or create wrapper APIs for each language, so instead of doing that the Windows team developed a system where a component written in one of the languages can be exposed to the other languages through a minimal translation layer. As developers, we can use this to access components written in other languages easily and with minimal performance impact. These components exist with DLLs that act in a manner similar to .NET class libraries; however, they can also be consumed by C++ and JavaScript.
To create one of these, you simply create a WinRT Component project in Visual Studio and write code using either C# or C++/CX. Only ref types in C++/CX will be exposed to WinRT, so if you're writing a game or application in C# and want to use a C++ only library, you can write a basic wrapper that includes native code in your component, and expose...