最近 .NET 7.0 GUIアプリケーションがWindowsで開発できるようになってきている。割と便利だ。
GUIアプリケーションの作成にxamlを使用していると、最初は大変だったが慣れてくると割と便利だ。.NET Framework 4.5程度のときはMVVMの対応に割と時間がかかってイベントハンドラを記述するなんてやっていたが、最近はMVVMの対応が楽になった。
そして.NET MAUIやAvalonia UIやUno Platformはそれをマルチプラットフォームに拡張する。
例えば、Avaloinia UIのアプリケーションをUbuntu 20.04で実行してみた。
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt update sudo apt install aspcorenet-runtime-7.0 LC_ALL=C dotnet AvaloniaApplication1.Desktop.dll
LC_ALL=Cが大事みたい。
ただ、.NET Framework 4.x世代の安定した互換性に比べて.NET 5.0 .NET 6.0 .NET 7.0の機能の追加・廃止の速さは少し怖い
(.NET Framework 4.xもWindows 7 の最後における.NET Framework 4.8のシステム破壊(WPFアプリがクラッシュする問題)はあったが)