こんにちは。山茶です。
先日業務の合間にちょこっとしたWindowsのGUI開発をやってました。
Web系ばかり勉強していたのでWIndowsのGUI開発は結構久々です。
まずはVisual Studioを立ち上げて新規プロジェクトを作成。プロジェクトの種類は……
知らないうちになんかいろいろ増えてるんですけど……?
WPFは聞いたことがある、てかこのWinUI3って、何??
せっかくなので、つい以前のようにWindowsFormを選びたくなるこの思いをグッとこらえて、この新しいやつを調べつつ試してみることに。
(社内で使うちょっとしたアプリなので全然WinFormでもよかったのですが。)
WinUI3を選ぶ理由
WPFはパフォーマンスに問題を抱えていたようで、それらの問題を解決したのがWinUI3だそうです。
WinUI3のアプリを動作させるにはWindows10以上が必要。なので古いWindowsをターゲットにした開発の場合は従来通りWinFormかWPFを使うことになる。
デザイン面がWindows10以降準拠となっており、従来よりアニメーションも取り入れやすくなっている。
またMVVM(View、ViewModel、Model)の考え方を取り入れており、今ではWebフレームワークを扱うことが多いのもあって理解しやすそうです。
画面デザインはXAMLを使う
WPFすっとばしてのGUIデスクトップ開発なのでここが最初ややこしいと感じました。
ソリューションに画面を追加すると、1画面に1つ.xamlファイルと.csファイルがあり、画面は.xamlのファイルを編集して画面を作っていくようです。
XAMLはWPFでも使われていましたが、そこからまた少し書き方が変わっていたりするようです。
やってみると、まるでHTMLみたいな感じで画面デザインが作れると感じました。
学習方法
公式のチュートリアル
https://learn.microsoft.com/ja-jp/windows/apps/tutorials/winui-notes
https://learn.microsoft.com/ja-jp/windows/apps/design/basics/navigate-between-two-pages
Microsoftのサイトにはデザインの考え方の解説も多くあり、勉強になります。
https://apps.microsoft.com/detail/9p3jfpwwdzrc?hl=ja-JP&gl=JP

XAMLの書き方については、Microsoft公式のアプリがあり、そこからサンプルやドキュメントを見たりコピペしつつ勉強していくのが良さそうです。
かっこいいUI作りたいですね~。