ISO C++ wrappers for WinRT
Now that WinRT has been unveiled, a lot of people have criticized the C++/CLI-like quasi-C++ that is the recommended way to interface with the API. And honestly, it looks reasonably nice. If we're willing to give up all hopes of using another compiler than VC11, and don't mind non-standard code in our C++ application, it seem a nice way to interface with WinRT.
But how about an alternative?
How about offering a "best effort" library-only ISO C++ wrapper to make WinRT usage as simple as possible without relying on library extensions? It doesn't have to be as clean and pretty as the language extensions, but it could be a lot prettier than the raw COM interface.
Right now, we have the choice between the (basically undocumented) underlying COM, or the nonconformant language extensions. Both options obviously have their uses, but I'd love to see an intermediate layer: something that makes WinRT as easy as possible to use from ISO C++.
Andy Bolstridge commented
I think you want the WRL - a lot like the old ATL system. I think its a lot nicer than C++/CX which should just be deprecated (unless MS thinks "3rd time lucky" is a good mantra - its not, not in this case).
This will be possible via an ABI solution, according to a MSFT comment on this blog post: