先月の話にはなりますが .NET Conf 2022 の Recap Event として福岡で開催されたイベントで、Windows アプリケーション開発について話しました。
残念ながらセッション動画は公開されませんが、使用したスライドは以下で公開しています。
セッションは以下のような雰囲気で楽しく喋りました。思ったよりも Windows アプリケーション開発を行っている人が多く参加されていたので、こっちが驚いていました。
#dotnetconf Recap Event福岡ここからのセッションはMicrosoft Azure MVP芝村さんによる.NET 7時代のWindowsアプリ開発事情のお話です✨
— Rie Moriguchi (@Rie_Moriguchi) 2022年11月25日
お越しいただいている方の中にもWindowsアプリ開発をされている方が多くいらっしゃいます😃 pic.twitter.com/9HS7onky5q
まだまだ Windows アプリケーション開発は重要ということを再認識できたので、今後も最新の情報をキャッチアップして開発に生かしていきたいと思います。
.NET 7 がリリースされて MAUI が正式版になり Windows App SDK 1.2 も登場した今、Windows のデスクトップアプリケーションを開発する際に何を選ぶべきなのかが、正直自分でも悩んでいたので整理を兼ねて話してきました。スライドにも書いていますが、正直なところ決定版は出ていないという結論です。
Windows アプリケーション開発については、このブログでは Windows カテゴリーを付けてある程度書いていますので、興味がある方は以下のカテゴリーの記事一覧を見てください。
個人的には現状は UX を重視するアプリケーションの場合は WPF を使うのが安パイかと考えていますが、将来的に Windows App SDK が劇的に良くなる可能性もあるので、最近は UI 部分をプロジェクトレベルで完全に切り離すようにして、フレームワークの入れ替えを前提で書くようにしています。
Microsoft 的には強く推している Windows App SDK は開発速度が牛歩の極みって感じなので、まだまだ時間がかかりそうな気はしますが UWP からの移行であれば今すぐ可能なレベルです。
UWP からの移行については、以前に以下のエントリで作業内容を簡単にまとめていますので、Windows App SDK への移行に興味があればこちらも参照してください。
セッションでの話はここまでにして、ここから先は夜の部で開催されたディスカッションで出てきた話について、少しだけフォローアップを書こうと思います。
ちなみにディスカッションは以下のような形式で行われました。かなり熱中して話をしていたので時間を余裕でオーバーしていたようですが、非常に楽しい回になりました。
#dotnetconf Recap Event福岡の夜の部のディスカッションにて、参加者の皆さんとのQ&Aが盛り上がっています🙋皆さまから続々と寄せられるレベルの高い質問に開発経験豊富なスピーカーが回答する、非常に熱量の高いやりとりが繰り広げられています👍 pic.twitter.com/pmhPo5urlX
— Rie Moriguchi (@Rie_Moriguchi) 2022年11月25日
その中で Windows アプリケーションの配布方法について質問がありましたが、.NET 6 以降でも ClickOnce を使い続けても良いのかという疑問は誰もが持つものだと思います。MSIX が出てきたため、そっちに移行した方が良いのかという疑問も持っているはずです。
以下のドキュメントのリンクを見て分かるように、ClickOnce と MSIX は誰の持ち物かという観点で考えるのが分かりやすいはずです。ClickOnce は Visual Studio / .NET チームの持ち物で、MSIX は Windows チームの持ち物というわけです。
Microsoft Store から配布したい場合には MSIX がお勧めではありますが、パッケージングの手間はそれなりに発生します。ClickOnce は Visual Studio で発行すればセルフホスティング可能なのと、正式な証明書不要で始めることが出来るメリットがあります。
個人的には MSIX よりも ClickOnce の方が .NET アプリケーションとの相性は良いと考えているので、Microsoft Store から配布の必要が無ければ ClickOnce を使います。