.NET MAUIとは
.NET Multi-Platform App UI (.NET MAUI) は、C# と XAML を使用して、ネイティブのモバイル アプリやデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。
開発環境
- Windows 11
※Windowsの開発者モードを有効にする必要あり - Visual Studio 2022 17.3 (Preview)
取り急ぎWindowsアプリだけ動けばよいので、Android SDKは入れてません。
※ iOS/Macアプリには開発環境としてMacが必要です。
Visual Studio 2022 17.3 (Preview) をインストール
ここ からダウンロードして、Visual Studio Installerを起動する。
「.NET Multi-platform App UI development」を選択された状態でインストール開始する。
MAUIプロジェクトの新規作成
インストールが完了するとVisual Studioが起動します。
「.NET MAUI アプリ」を選択して[次へ]をクリックする。
とりあえずHallo, World!
.csprojファイルを編集して、ビルド対象をWindowsアプリだけに変更する。
TizenやLinuxもサポートされるようです。
<!-- TargetFrameworksをnet6.0-Windowsだけにする。
<TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
-->
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
<!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->
そのままビルドすると配置を有効にしろと怒られるので、有効にする。
プロジェクトの中身
構成
プラットフォームごとのフォルダがあり、専用の処理やリソースを配置できます。
メインページのXAML
XAML デザイナー(XAMLのプレビュー表示&GUIでの編集)がないみたいですが、リリース版では対応されるでしょう。
メインページのコード
namespace MauiAppDemo;
public partial class MainPage : ContentPage
{
int count = 0;
public MainPage()
{
InitializeComponent();
}
private void OnCounterClicked(object sender, EventArgs e)
{
count++;
if (count == 1)
CounterBtn.Text = $"Clicked {count} time";
else
CounterBtn.Text = $"Clicked {count} times";
SemanticScreenReader.Announce(CounterBtn.Text);
}
}
※SemanticScreenReader.Announceは音声読み上げだそうです。
参考