-
Notifications
You must be signed in to change notification settings - Fork 0
MS_DotNetMAUI
- 戻る(.NET Core と Mono、XAML、.NETとスマホ、.NETのクロスプラットフォーム対応)
- UWP
- Xamarin
- Uno Platform
- .NET MAUI
.NET 6で追加される予定。
移行メモ(最新化): 本ページは「.NET 6 で追加される予定」
という発表直後の時点で書かれている。実際の経緯は次の通り。
時期 出来事 2020-05 Microsoft Build 2020 で .NET MAUI を発表 2021-11 .NET 6 では間に合わず、プレビュー扱いで出荷 2022-05 .NET 6 向けに .NET MAUI 1.0 が正式リリース(GA) 2022-11 .NET 7 に同梱。以降、.NET 本体と同じサイクルで更新 2024-05 Xamarin のサポート終了。MAUI が唯一の後継となる 正式名称は .NET Multi-platform App UI。「マウイ」と読む。
-
デバイスネイティブなアプリケーションを
開発するためのマルチプラットフォームフレームワーク。 -
Xamarin.Formsツールキットを発展させたもの。
-
最新オペレーティングシステム
- Android
- iOS
- macOS
- Windows
のネイティブAPIにアクセスする組込リソースによる、単一のコードベースを提供
-
Uno Platformは同じ思想で、
モバイルとデスクトッププラットフォームのネイティブ開発を実現している。
補足(Xamarin.Forms から何が変わったか): 「発展させたもの」の中身は
主に次の 3 点である。移行を検討する際の勘所でもある。
項目 Xamarin.Forms .NET MAUI プロジェクト構成 プラットフォームごとに別プロジェクト 単一プロジェクト( Platforms/配下で分岐)UI の実装差し替え カスタム レンダラー(継承ベース、重い) ハンドラー(インターフェイス ベース、疎結合で軽い) ランタイム Mono / Xamarin 独自 本流の .NET(.NET 6 以降に統合) 3 番目が最も本質的で、
「Mono 系と .NET Core 系に分かれていた .NET が
1 本化された」という .NET 5 以降の流れの中に位置づけられる。
補足(現状の評価): MAUI は Xamarin の後継として
唯一の選択肢になったが、モバイル開発全体で見れば
Flutter(DNET_Flutter.md)/ React Native(DNET_ReactNative.md)の
後塵を拝している状況は変わっていない。採用が妥当なのは、
- 既存の .NET / C# 資産とロジックを共有したい
- Xamarin アプリの移行先
- 社内向けで要員が .NET に寄っている
といった場合であり、
「ゼロからコンシューマ向けモバイルを作る」場面で
積極的に選ばれることは少ない。
.NET 8 以降、MAUI の BlazorWebView 上で
Blazor のコンポーネントを動かす構成が実用的になっている。
- UI を HTML/CSS で書き、ネイティブ API は MAUI 経由で叩く。
- XAMLを書かずに済むため、Web 側の要員を活かしやすい。
-
.NET Multi-platform App UI(.NET MAUI)の要点まとめ - Qiita
https://qiita.com/nskydiving/items/927b39c2983eb1f2d2b3 -
[速報]マイクロソフト、新UIフレームワーク
「.NET Multi-platform App UI」(.NET MAUI)発表。
単一コードでマルチプラットフォーム対応。Microsoft Build 2020
https://www.publickey1.jp/blog/20/uinet_multi-platform_app_uinet_mauimicrosoft_build_2020.html -
MAUI: .NETのマルチプラットフォーム用アプリケーションUI
https://www.infoq.com/jp/news/2020/07/maui-multi-platform-ui-dotnet/
-
.NET MAUI のドキュメント | Microsoft Learn
https://learn.microsoft.com/dotnet/maui/ -
dotnet/maui
https://github.com/dotnet/maui
Tags: 移行, .NET開発, UIサブシステム, WPF/Silverlight, XAML
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。