C#アプリ開発を始める!.NET MAUIとWPFを比較

デジハク生成AI

C#でアプリを作るときは、Windows専用、複数OS、ゲーム、対話表現のどれを完成品にするかを先に決めます。
WPF、.NET MAUI、Unityは同じC#を使えても、画面構造と配布先が異なります。
共通化する業務ロジックと、OSごとに残す画面や端末機能を分けることが選択の要点です。

C#を含む開発方式や依頼先を目的別に整理したガイドでは、対象端末から相談方法を選ぶための情報をまとめています。

完成品 第一候補 採用前に確認する条件
Windows業務デスクトップ WPF Windows限定でよいか、既存資産があるか
Android、iOS、macOS、Windows .NET MAUI OS別機能と実機検証を保守できるか
ゲーム、3D、対話コンテンツ Unity シーン、描画、アセット中心の設計か
目次

WPF、MAUI、Unityは完成品の形で選ぶ

MicrosoftのWPF概要は、WPFがWindowsで動く.NETのUIフレームワークであり、XAML、データバインディング、レイアウトなどを備えると説明しています。
.NET MAUIの概要では、C#とXAMLを使い、Android、iOS、macOS、Windows向けのアプリを一つの共有プロジェクトから構成できることが示されています。
Unityのスクリプティング入門は、ゲームオブジェクトやコンポーネントの動作をC#スクリプトで制御する考え方を扱います。

比較軸 WPF .NET MAUI Unity
主な用途 Windows業務画面 モバイル、デスクトップ ゲーム、リアルタイム表現
UIの中心 XAMLとWPF部品 XAMLとMAUI部品 シーンとゲームオブジェクト
配布先 Windows Android、iOS、macOS、Windows 選択した対応プラットフォーム
固有作業 Windows統合 OS別権限、署名、端末API アセット、描画、入力、実行性能

顧客一覧や帳票などWindows業務に閉じるなら、WPFの既存部品や運用知識を活かせます。
同じサービスをスマホへ届けるならMAUIを検討し、3D空間やフレーム更新が中心ならUnityを別枠で評価します。

顧客一覧で共有範囲を可視化する

.NET MAUIは共有コードを増やせますが、すべての画面や端末処理が完全に同じになるわけではありません。
MicrosoftのMAUIアーキテクチャの説明では、共通API層から各プラットフォームのAPIへ接続し、必要に応じて固有コードを追加できる構成が示されています。

顧客一覧画面を例にすると、共有と固有を次のように分けられます。

部品 共有候補 OS別に残る可能性
顧客モデル 氏名、状態、更新日時 なし
入力検証 必須、文字数、形式 キーボード入力支援
API通信 URL、認証更新、応答型 通信権限や証明書設定
一覧UI 行の項目と操作 画面幅、ナビゲーション、アクセシビリティ
ファイル共有 出力するデータ 保存場所と共有画面

共有率ではなく、OS差が出たときに局所的に変更できる境界を目標にします。
共通画面へ条件分岐を増やし続けるより、固有実装を小さなサービスへ分ける方が試験範囲を説明しやすくなります。

WPFはWindows業務との接続を評価する

WPFはWindows専用である代わりに、デスクトップ業務で必要なウィンドウ、データ表示、キーボード操作を細かく設計できます。
WPF公式概要では、XAMLによる見た目とコードによる動作の分離、データバインディング、コマンドなどが説明されています。

既存WPFを更新する場合は、画面の見た目だけでなく、.NET版、外部部品、インストーラー、社内PCの権限を調査します。
新規画面では、マウスだけでなくキーボード、表示倍率、スクリーンリーダー、複数ウィンドウを試します。

社内データベースへ直接つなぐ構成は、端末ごとの接続情報と権限を増やします。
可能ならAPIを境界にし、WPFは画面と利用者操作へ集中させます。

VS Codeとビルド環境を混同しない

VS Codeはコード編集に使えますが、エディターを導入しただけで対象プラットフォームのビルド環境が揃うわけではありません。
.NET SDK、対象ワークロード、Android SDK、iOS用のMac、署名情報など、完成品ごとの道具を別に確認します。

開発端末の準備表には次を記録します。

  • 利用する.NET SDKと対象フレームワークを固定します。
  • WPFではWindows上のビルドとインストールを確認します。
  • MAUIでは対象OSごとのワークロードとエミュレーターまたは実機を用意します。
  • iOSとmacOSを対象に含める場合はMacでのビルド条件を確認します。
  • 署名鍵とストア用アカウントを個人PCだけに依存させないようにします。

チーム内で同じコマンドから成果物を作れる状態にすると、エディターの違いは小さな問題になります。
ビルドに必要な版と手順を自動化へ残し、誰の環境で作った成果物かを追えるようにします。

Unity資産は業務アプリ資産と分けて数える

Unityで使うC#は、シーン、ゲームオブジェクト、コンポーネント、フレーム更新と結び付きます。
Unityの公式スクリプティング資料を確認すると、一般的な.NETアプリとは実行の考え方が異なることが分かります。

料金計算やAPI応答型のような純粋なC#ロジックは共有候補ですが、UnityのシーンやアセットをWPFやMAUIへそのまま移すことはできません。
逆に、業務アプリのXAML画面をゲーム画面へ流用する前提も置きません。

試作では同じ顧客データを使う場合でも、再利用できるモデル、通信、テストと、作り直すUIや操作を分けて見積もります。
「同じC#だから安い」ではなく、共有できるファイルと共有できない成果物を数えます。

C#アプリ開発のよくある質問

C#でAndroidとiOSの両方へ配布できますか?

.NET MAUIなどを使ってAndroidとiOS向けのアプリを作れます。
共通コードを使える一方、OS別の権限、署名、ストア申請、端末テストは残るため、対象プラットフォームごとの開発環境を準備します。

WPFと.NET MAUIはどちらを選びますか?

Windows専用の業務デスクトップならWPF、AndroidやiOSを含む複数OSなら.NET MAUIが主な候補です。
既存資産、必要な端末機能、配布先、チームが保守できるOS別コードを比べて決めます。

Unity以外のC#アプリと何が違いますか?

Unityはシーンやゲームオブジェクトを中心にリアルタイムの動作を作り、WPFやMAUIは業務画面や一般的なアプリUIを構成します。
言語は同じでも、画面資産、実行の仕組み、性能試験、配布物が異なります。

C#は対象OSと再利用資産を分けて選ぶ

C#アプリは、言語の共通性よりも完成品の形と再利用できる資産を明確にすると選びやすくなります。

  • WPFはWindows専用の業務デスクトップを細かく設計できます。
  • .NET MAUIは複数OSでロジックとUIの一部を共有できます。
  • OS別の権限、署名、端末機能、ビルド環境は共通化の外に残ります。
  • VS Codeなどのエディターと、成果物を作るSDKやワークロードを区別します。
  • Unityでは共有できるC#ロジックと固有のシーンやアセットを分けます。

Webサービス中心の別案は、RubyによるWebアプリ開発の構成でMVCとデータベース運用の考え方を確認できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

生成AIを学ぶならココ!
おすすめのスクールTOP3

スクロールできます
サービス名1位
デジハク生成AI
2位
SAMURAI ENGINEER
3位
バイテック生成AI
デジハク生成AIサムライエンジニアバイテック生成AI
おすすめ度
向いている人生成AIを仕事や副業で活用したい人AIアプリ開発や転職を目指す人仕事や副業で生成AIを活用したい人
現行コース・
料金(税込)
MINI:
一括346,500円
利用期間・サポート期間60日

PRO:
一括548,000円
利用期間無期限、サポート期間180日
AIアプリコース(通常料金):
16週間728,000円
24週間924,000円
入学金99,000円を含む
キャンペーン適用時は公式ページで要確認
LITE:一括178,000円(税込)

PRO:一括298,000円(税込)

教材は無期限で利用可能
サポートMINI:専任AIメンター、チャットサポート(60日)
PRO:専任AIメンター、案件サポート(180日)
専属エンジニア講師、学習コーチ、Q&A掲示板LITE:教材+チャットサポート
PRO:専任AIメンター+案件サポート
給付金・制度個人向け給付金の対象可否は公式サイトで要確認対象コースあり
制度・条件・上限はコースごとに異なる
公式ページで対象可否を要確認
無料相談・体験公式サイトで料金・相談内容を確認無料カウンセリングあり無料個別カウンセリングあり
デジハクの料金を確認無料カウンセリングを確認無料個別カウンセリングを確認

各社の公式サイトを2026年8月3日に確認しています。料金・キャンペーン・給付金の条件は変更されるため、申込み前は各社公式ページの最新条件をご確認ください。
※給付金は年齢だけで決まる制度ではありません。対象者・対象コース・申請時期・修了や転職などの条件をご確認ください。
※給付金は年齢だけで決まる制度ではありません。対象者・対象コース・申請時期・修了や転職などの条件をご確認ください。

この記事を書いた人

目次