This really is a completely new user-level API. There's no trace of traditional Win32 concepts: no window handles, no window classes, no event loop... (Yes, no more WPARAM and LPARAM either. Goodbye 1985!)<p>For years Microsoft has been trying to come up with a successor for Win32. This looks like the most credible attempt yet.<p>I don't think this API will be accessible from standard C/C++, though. All the code samples require Microsoft's C++/CLI dialect.<p>For example, here's what <i>main.cpp</i> looks like for one of the app samples that uses a Direct3D view:<p><pre><code> #include "DirectXViewProvider.h"
[Platform::MTAThread]
int main(array<Platform::String^>^)
{
auto directXViewProviderFactory = ref new DirectXViewProviderFactory();
Windows::ApplicationModel::Core::CoreApplication::Run(directXViewProviderFactory);
return 0;
}
</code></pre>
It's certainly a great improvement over the old WinMain() and running your own event loop. However, those ^ symbols indicate managed CLI objects. When these are even in the main() function signature, it suggests that C++/CLI is a hard requirement.<p>I'm not sure how this will affect other compilers on Windows. AFAIK, Visual C++ is the only compiler with C++/CLI compatibility. Will it be impossible to build full apps using GCC on Windows 8?