個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Xamarin に関する事を中心に書いています。 Microsoft MVP for Development Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

.NET MAUI について今わかっている事を整理しました

MAUI とは

.NET Multi-platform App UI
の略称です。

 

MAUI ってどんなもの?

  • マルチプラットフォームのネイティブ UI ライブラリ
  • モバイルとデスクトップの複数のデバイスにデプロイ可能
  • 単一のプロジェクト、単一のコードベースを使用する
  • Xamarin.Forms の進化版
  • .NET MAUI および新しいモバイル SDK は、.NET 6 と一緒にリリースされる予定です。なお、2020年末にプレビューの予定です。

※ つまり、残念ながら .NET 5 での .NET Core と Mono の統合は延期され、.NET 6 での統合になったということになります…

MAUI のゴール

  • アプリのパフォーマンスを向上させる
  • 簡単にコントロールを拡張できるようにする
  • 簡単にコントリビュートできるようにする
  • Model-View-Update(MVU)と Blazor のアプリパターンを提供する

 

マイルストーン

 

対応プラットフォーム

   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か月後以降にはメンテナンスが終了し、製品の終焉を迎えることになりりそうです…)

 

 

本日は以上です。