MAUI とは
.NET Multi-platform App UI
の略称です。
- Android、iOS、macOS、および Windows 用の .NET を使用してネイティブクロスプラットフォームアプリを構築するためのマルチプラットフォームアプリ UI。
- Xamarin.Formsの進化であり、ネイティブクロスプラットフォームアプリを構築するための .NET ソリューションとして位置付けられています。
.NET MAUI の最新の更新情報については以下の記事を参照ください。
hiro128.hatenablog.jp
hiro128.hatenablog.jp
MAUI ってどんなもの?
- マルチプラットフォームのネイティブ UI ライブラリ
- モバイルとデスクトップの複数のデバイスにデプロイ可能
- 単一のプロジェクト、単一のコードベースを使用する
- Xamarin.Forms の進化版
- .NET MAUI および新しいモバイル SDK は、.NET 6 と一緒にリリースされる予定です。なお、2020年末にプレビューの予定です。
※ つまり、残念ながら .NET 5 での .NET Core と Mono の統合は延期され、.NET 6 での統合になったということになります…
MAUI のゴール
- アプリのパフォーマンスを向上させる
- 簡単にコントロールを拡張できるようにする
- 簡単にコントリビュートできるようにする
- Model-View-Update(MVU)と Blazor のアプリパターンを提供する
マイルストーン
- 2020年 Q4 から 2021年 Q3 までプレビュー
- レンダラーアーキテクチャのバージョンアップ
- ソースコードのソリューションとプロジェクトの簡素化
- GitHub で承認された提案を実装する
- MVU (Model-View-Update)を実装する
- RC 2021年9月
- GA 2021年11月
対応プラットフォーム
Xamarin.Forms | .NET MAUI | |
---|---|---|
Android | API 19 以降 | API 21 以降 |
iOS | iOS 9 から iOS 15 まで | iOS 10 以降 |
Linux | Community | Community |
macOS | Community | Microsoft |
Tizen | Samsung | Samsung |
Windows | UWP Microsoft WPF Community | Microsoft |
特長
Xamarin.Forms | .NET MAUI | |
---|---|---|
Renderers | BindableObject に密結合 | 疎結合 コア依存なし スリムレンダラー |
App Models | MVVM RxUI |
MVVM RxUI MVU Blazor |
Single Project | × | ○ |
Multi-targeting | × | ○ |
Multi-window | × | ○ |
対応 .NET、プロジェクト形式など
Xamarin.Forms | .NET MAUI | |
---|---|---|
対応 .NET | Xamarin.iOS Xamarin.Android Mono .NET Framework その他 |
.NET 6 以降 |
取得方法 | NuGet & Visual Studio Installer | dotnet CLI |
プロジェクト形式 | 非 SDK 形式 |
SDK 形式 |
dotnet CLI 対応 | × | ○ |
開発環境
Xamarin.Forms | .NET MAUI | |
---|---|---|
Visual Studio 2019 | ○ | ○ |
Visual Studio 2019 for Mac | ○ | ○ |
Visual Studio Code | × | ○ |
MVUの採用
MAUI では、新しいアプリパターンである、MVU が採用される予定です。.NET Blog に、コードのサンプルも提示されていましたが、現在、議論中のため、具体的なコードは提示いたしません。
MVUの特長
同じく、.NET Blog によると、MVU には以下の特長があるとのことです。
- データと状態の管理のフローが一方向になる
- 必要な変更のみを適用することで UI を迅速に更新できる
- ホットリロードに最適である
Xamarin.Forms はどうなるの…
- Xamarin.Forms の次のメジャーバージョンは2020年9月頃になる予定
- .NET 6 での .NET MAUI のリリースを通じて引き続き更新されます。
- その後、Xamarin.Forms は 12 か月間は従来同様メンテナンスされます。(つまり 12か月後以降にはメンテナンスが終了し、製品の終焉を迎えることになりりそうです…)
.NET MAUI の最新の更新情報については以下の記事を参照ください。
hiro128.hatenablog.jp
本日は以上です。