【C++/WinRT】C++でUWPアプリを作る


更新

(追記)
Windows App SDKの登場により、以下の内容は古いです。

 C++でWindowsアプリを作る場合、Win32 APIを呼ぶ方法も、MFC(Microsoft Foundation Class)を使う方法も、Visual Studio 2019で可能です。これらの方法は、簡単に消えることは無いでしょう。

 では、C++でもC#のように、XAMLでUIを構築したUWPアプリを作りたい場合は、どうしたらよいでしょうか。そのための言語がC++/WinRTです。C++/CXと異なり、ほとんどC#と同じように書けます。

 参考文献を示します。

C++/WinRT
https://learn.microsoft.com/ja-jp/windows/uwp/cpp-and-winrt-apis/
 他の言語と比較すると、ネットの情報は少ないです。面倒くさがらずに、Microsoftの一次資料を読みましょう。

Windows UWP Namespaces
https://learn.microsoft.com/en-us/uwp/api/
 名前空間のリファレンスです。各クラスのページにて、画面右上の言語選択を「C++/WinRT」に切り替えて使います。

Photo Editor C++/WinRT sample application
https://github.com/microsoft/Windows-appsample-photo-editor
 Microsoftによるサンプルソースです。

KabeDon C++/WinRT sample application
https://github.com/hiroki-oogakiuchi/KabeDonCppWinRT
 「できるVisual Studio 2015 Windows/Android/iOS アプリ対応」(著者:広野忠敏・岩永信之&できるシリーズ編集部、発行所:株式会社インプレス、ISBN 9784844338215)のC#ソースを、自分なりにC++/WinRTに移植してみました。関数名や変数名も出来るだけ合わせてありますので、この本を持っている方は、見比べてみてください。C#とC++/WinRTの違いが分かります。

 今後、上記ソースを基に、C++/WinRTプログラミングを解説する予定です。