<本記事のターゲット層>
- MAUIのプロジェクトテンプレートでどれを選べばいいか分からない人
- MAUIをよく知らない人
- C#を使ってクロスプラットフォームアプリを開発したい人
~Blazor HybridやWebアプリ統合の違いとは?~
🧭 はじめに
.NET MAUI(Multi-platform App UI)は、iOS・Android・Windows・macOS 向けに 1つのコードベースでクロスプラットフォームアプリが作れるフレームワークです。
Visual StudioでMAUIのプロジェクトを作成しようとすると、以下のようなテンプレートが多数表示されて「どれを選んだらいいかわからない」という人も多いのではないでしょうか。
本記事では、このテンプレートの違いや選び方、MAUI Blazor Hybridアプリの特徴などを初心者にもわかりやすく解説します。
📌 テンプレート一覧と概要
テンプレートを一つずつ見ていきましょう。
1. .NET MAUI アプリ
- 概要:最も基本的なテンプレート。XAMLを使ってネイティブUIを構築する形式です。
- UI構築:XAML + C#
- 対象者:WPF や Xamarin.Forms の経験がある人に最適。
- 特徴:ネイティブに最も近く、軽量・高性能。
2. .NET MAUI Blazor Hybrid アプリ
- 概要:Blazor を使って HTML + Razor でUIを構築し、MAUI のアプリ内で表示する形式。
- UI構築:Blazor(Razor構文)で記述。裏では WebView が使われる。
- 対象者:Web開発者(特にBlazor経験者)に最適。
- 特徴:ネイティブ機能(カメラやGPS)もC#で使える。
3. .NET MAUI Blazor Hybrid アプリと Web アプリ
- 概要:MAUIアプリと同時に Blazor Webアプリ(ASP.NET Core hosted) も構築できるマルチプロジェクト構成。
-
構成:
-
Shared
プロジェクト:UIとロジックの共通部分 -
Maui
プロジェクト:モバイル・デスクトップ向け -
Web
プロジェクト:ブラウザで動作するBlazor Webアプリ
-
- 対象者:アプリとWebを同時に展開したい人に最適。
- 特徴:UIコードの共通化ができ、メンテナンス性が高い。
4. .NET MAUI Class ライブラリ
- 概要:MAUIで使うクラスライブラリ(部品)のみを作成したいときに選択。
- 使い道:カスタムUI部品、共通ロジック、サービス層の切り出しなど。
5. .NET MAUI for .NET Aspire Service Defaults
- 概要:.NET Aspire向けのテンプレート。クラウドネイティブ構成やサービス連携を意識した開発向け。
- 対象者:ASP.NET Core/Web APIと連携するような大規模アプリに関心のある人。
6. マルチプロジェクト用の.NET MAUI
- 概要:複数のUI・機能を持つプロジェクトをまとめて管理するための土台。
- 使い道:大規模プロジェクトのベース、複数プラットフォームをきっちり分けたいとき。
🔍 Blazor Hybridとは何か?
.NET MAUI Blazor Hybrid
テンプレートでは、UIを HTML + Razor構文で作成し、MAUIアプリ内部で表示します。
🎯 メリット
- WebのUI経験(HTML/CSS)がそのまま使える
- Blazorコンポーネント資産が活かせる
- C#だけでUI・ロジック・ネイティブ連携が可能
🔧 仕組み
-
BlazorWebView
コントロールが内部的に使われており、これを介してUIをレンダリング。 - 実際のUIはWebViewの上に描画されているが、MAUI内のアプリとして動作。
🆚 Blazor Hybrid vs Blazor Webアプリの違い
比較項目 | MAUI Blazor Hybrid | Blazor Webアプリ |
---|---|---|
実行環境 | Windows/macOS/iOS/Android アプリ | ブラウザ上(Web) |
UI記述 | Razor(HTML+CSHTML) | 同じ |
ネイティブ機能 | ✅ カメラ、GPS、センサなど | ❌ ブラウザ制限あり |
オフライン動作 | ✅ 可(インストールアプリ) | △ PWA化すれば可能 |
配布方法 | ストア、MSIなど | URLで公開可能 |
利用用途 | モバイルアプリや業務アプリ | 社内Web、顧客向けポータル等 |
🧩 どのテンプレートを選べばいい?
やりたいこと | 推奨テンプレート |
---|---|
ネイティブUIで軽量アプリを作る | .NET MAUI アプリ |
Web開発経験を活かしてアプリを作りたい | .NET MAUI Blazor Hybrid アプリ |
アプリとWebの両方を同時に作りたい | .NET MAUI Blazor Hybrid アプリと Web アプリ |
部品・ロジックを再利用したい | .NET MAUI Class ライブラリ |
クラウドサービスも視野に入れたい | .NET MAUI for .NET Aspire |
✅ まとめ
.NET MAUI のテンプレートは一見似ていても、アプリの規模・目的・チーム構成によって選ぶべきものが異なります。
もし Blazor や Web 技術に慣れているなら、Blazor Hybrid から入るのが自然ですし、
完全なネイティブパフォーマンスが必要なら XAMLベースのMAUIアプリ を選ぶのが王道です。
また、「アプリとWebを同時展開したい」なら .NET MAUI Blazor Hybrid アプリと Web アプリ
テンプレートをぜひ試してみてください。
🧪 おまけ:練習してみたい方へ
Views: 0