やまだのBlog@hatena

Microsoftの技術について取り扱うブログです。開発ツールとAzureがメイン、あとは興味のある内容

(learn microsoft) .NET MAUIとは

はじめに

このブログではMicrosoftが提供する技術ドキュメントを読んでいくブログです。

「よく使っている技術だけど、ドキュメントは全く読めていない。」 「なんとなくで使っているけど、ドキュメントのどこに書いてある技術なんだろうか。」などなど 読んでみた時のメモを書いていきます。内容によっては検証もしていきます。

Microsoftの技術ドキュメント

learn.microsoft.com

今回のテーマ

learn.microsoft.com

.NET MAUIとは

まずは概要を読んでみます。公式サイトでは.NET MAUIについて下記のように説明があります。

.NET Multi-Platform App UI (.NET MAUI) は、C# と XAML を使用して、ネイティブのモバイル アプリやデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。 .NET MAUI を使用すると、1 つの共有コード ベースから Android、iOS、macOS、Windows で実行できるアプリを開発できます。

要するにクロスプラットフォームでアプリケーションを作成できるフレームワークをC#とXAMLで構築できるというものです。 重要なポイントとしてはC#で構築できるというポイントですが、ドキュメントを読み進めていくともう一つポイントがあります。

.NET MAUI はオープンソースであり、Xamarin.Forms の進化であり、モバイルからデスクトップのシナリオに拡張され、UI コントロールはパフォーマンスと拡張性のために一から再構築されます。

.NET MAUI とは - .NET MAUI | Microsoft Learn

ポイントとしては以下の文言です。

Xamarin.Forms の進化であり、モバイルからデスクトップのシナリオに拡張

Microsoftが開発したオープンソースの UI フレームワーク、Xamarin.Formsが拡張されたフレームワークというポイントです。 類似点があるものの相違があるので別物として見た方が賢明でしょう。

参考:Xamarin.Forms の概要 - Xamarin | Microsoft Learn

対応OS

クロスプラットフォームということもあり、対応OSは多岐に渡ります。 モバイルデバイスではAndroidやiOS、それ以外ではmacOSやWindowsに対応しています。

※iOSおよびmacOSのアプリビルドではMacが必要です。

まとめ

少しだけ概要を見ていきましたが、Visual StudioおよびVisual Studio Codeで開発ができるので 手軽にネイティブアプリ開発ができると思いました。ただし、MacやiOSのビルドに関してはMacbookが必要になるので WindowsとAndroidのアプリ開発が中心となりそうです。 また、Windows11ではAndroidのエミュレーションに対応したこともあり、Androidの開発は以前よりもやりやすくなったと考えられます。