知識マップ: WinForms/WPF/WinUIの選び方 - 実務判断表

記事「WinForms/WPF/WinUIの選び方 - 実務判断表」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

WinForms・WPF・WinUIをどう選ぶかを、新規開発か既存資産の延長か、画面が標準フォーム中心か表現力重視かという軸で整理する記事で、標準コントロール中心の業務アプリにはWinForms、データバインディングとMVVMを活かす中〜大規模業務アプリにはWPF、Fluentや最新のWindows体験が製品価値に直結する新規Windows専用製品にはWinUIを推奨する。WinUIはWindows App SDKのUIフレームワーク部分であり、既定でMSIXパッケージとpackage identityを前提とする一方、Windows App SDK自体は既存のWPF/WinForms資産にも機能追加できるためUI全面移行は必須でないとし、XAML Islandsによる段階移行は主戦略にする前に小さく検証すべきだと注意を促す。

WinForms/WPF/WinUIの選び方の知識マップWinForms・WPF・WinUIが新規開発と既存資産のどちらに向くかの判断軸、WinUIがWindows App SDK・MSIX・package identityを前提にすること、MVVMとデータバインディングの関係、XAML Islandsによる段階移行への注意点を示す図利用する利用する利用する前提とする利用する利用する実装を担う利用する利用する前提とする前提とする前提とする両立しない利用する利用する前提とする用いるのは非推奨推奨される対応推奨される対応推奨される対応より先に行うべきより先に行うべきより先に行うべき利用するWindows FormsWPFWinUI(Windows App SDK)XAMLデータバインディングMVVM(Model-View-ViewModel)Windows App SDKMSIXpackage identity外部の場所を指すpackaged(sparse package)unpackaged appXAML Islands既存WPF/WinFormsへのWinUI段階移行標準コントロール中心の業務アプリ画面数の多い中〜大規模業務アプリWindows専用の新規モダン製品UIFluent Design System

概念間の関係(全24件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

Windows Forms
デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。
WPF
XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。
WinUI(Windows App SDK)
Windows App SDKベースのUIフレームワーク。Windows 11のモダンなUIに沿った外観と、Microsoft Store/MSIXとの親和性を持つ。動作対象はWindows 10 バージョン1809(ビルド17763)以降で、Windows 11専用ではない。
MVVM(Model-View-ViewModel)
画面(View)、画面用の状態とコマンド(ViewModel)、業務ロジックとデータ(Model)に分ける設計パターン。
MSIX
package identityを持つ、Windowsのモダンなアプリパッケージング形式。
外部の場所を指すpackaged(sparse package)
既存のインストーラーをそのまま使いながら、実行ファイルにpackage identityだけを付与できるpackagingモデル。
unpackaged app
MSIXなどのパッケージを使わず、従来どおりフォルダに実行ファイルを置く形で配布されるアプリ。
既存WPF/WinFormsへのWinUI段階移行
既存のWPF/WinFormsアプリに、XAML IslandsなどでWinUI系のコントロールを少しずつ混ぜていく移行構想。
Windows App SDK
WinUIを含む、今のWindows向け開発ライブラリ群。UI以外の機能もあり、WPF・WinForms・Win32の既存アプリにも追加できる。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。