.NET Multi-platform App UI — Microsoft が開発する公式のクロスプラットフォーム UI フレームワーク。iPhone / Android / macOS / Windows をひとつのコードベース・ひとつのチームで開発できる。Xamarin.Forms の後継として 2022 年に正式リリース。
主な特徴
| 観点 | 内容 |
|---|---|
| 開発言語 | C# + XAML |
| 対応プラットフォーム | iOS / Android / macOS(Mac Catalyst)/ Windows(WinUI 3)/ Tizen |
| 単一コードベース | UI ・ビジネスロジック・ライフサイクルを共通化 |
| ネイティブ性能 | 各 OS のネイティブ UI コントロールを呼び出す(描画はネイティブ) |
| ホットリロード | 開発中の UI 変更を即時反映 |
ネイティブ別実装との比較
| 観点 | ネイティブ別実装(Swift + Kotlin) | .NET MAUI |
|---|---|---|
| 言語 | 2 言語(Swift / Kotlin) | C# 1 言語 |
| コードベース | 2 つ | 1 つ |
| チーム | iOS チーム + Android チーム | 1 チーム |
| UI 一貫性 | 各 OS で個別に保つ | 共通 UI が前提(カスタマイズ可) |
| 開発コスト | 高(重複作業多) | 約 1/2 |
| 各 OS 固有機能 | フル対応 | プラグインで対応(書きやすい) |
開発環境
| ツール | 役割 | OS |
|---|---|---|
| VS Code + .NET MAUI 拡張 | エディタ・ビルド・デバッグ | Linux / macOS / Windows |
| Visual Studio | フル IDE(旧来の標準) | Windows / macOS |
| Visual Studio for Mac | iOS ビルド用 | macOS |
VS Code 公式拡張により、Visual Studio に縛られず Linux でも .NET MAUI 開発が完結するようになった(iOS の最終署名のみ macOS が必要)。
iOS ビルドの制約
Apple の規定で iOS アプリの最終署名は macOS が必要。Linux + VS Code で開発しても、配布時のコード署名・App Store 提出は macOS(または Mac Cloud サービス)経由になる。Android は Linux だけで完結する。
関連記事
- 脱Microsoft 全体戦略・総論 — Linux + VS Code + .NET MAUI でモバイル開発体制を維持