What are WinRT language projections and what are they used for?
A language projection is a way to exposing the Windows Runtime API to you in a language-friendly manner. For example, the underlying way to create a Windows.
C#/WinRT is a NuGet-packaged toolkit that provides Windows Runtime (WinRT) projection support for the C# language. A projection assembly is an interop assembly, which enables programming WinRT APIs in a natural and familiar way for the target language.
WinRT can be described as an API at the same level as Win32. The only difference with Win32 is that WinRT is exposed to all application developers.
Windows Runtime Projections are the way that the Windows Runtime APIs are exposed in each language. This may be at compile time (as in C++) or at runtime (as in JavaScript) or a combination (as in C#). Each language decides how to present the WinRT APIs best. Most of the time it is a direct exposure, but other times there are wrappers or redirections that may take place. Delegates and events are a good example. In C# they show up as C# delegates/events and not as WinRT-specific types. Strings likewise are remapped to be the native language string type and not the underlying hstring type.
"Projections" in WinRT is another word for "Bindings".
The WinRT Language Projections are the WinRT Bindings for each Language that is supported.
For more information, check out:
WinRT Demystified - Miguel de Icaza
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With