1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CLIだけで.NET MAUIBlazor Hybrid アプリを実質5分で作る

Last updated at Posted at 2024-11-11

はじめに

.NETの開発はたいていの場合VisualStudioか、VSCodeにC#Developer Kitをインストールして進める方が多いと思いますが、単にHello Worldだけを試したい場合はそれらがなくても問題はありません。それが例えマルチプラットフォーム用のアプリであったとしても、です。
今回は.NETの中でもやや日本語の文献の少ない、.NET MAUIBlazor HybridアプリをIDEなし、CLIだけで作成・ビルドし、起動してみたいと思います。
(間も無く.NET9がリリースされるので今更感もありますが)

2024/11/17 .NET9でも検証しました。

.NET MAUIBlazor Hybridとは

MAUIBlazor Hybrid は、Blazor Server と Blazor Web Assembly の機能を統合したテクノロジーで、マルチプラットフォーム用のアプリケーションを作ることのできるフレームワークです。
ざっくり要約すると、Webアプリをそのままクライアント上で動作するスタンドアロンのアプリケーションにできちゃう、さらにJavaScriptで書かなければならないフロントのプログラムも全部C#で書くこともできる(もちろんJavaScriptで書いてもOK)といった感じです。

前提

dotnetのSDKがインストール済みであること。
XCodeおよびXCodeCommandLineツールがインストール済みであること(Windowsの場合不要)。
また、実行環境は以下を想定しています。

OS XcodeCommandLineツール .NET ストレージ
macOS 15.0.1 16.1 8.0.403 SSD
macOS 15.0.1 16.1 9.0.100 SSD

本稿ではMacを使用していますがdotnetコマンドが主なので、Windowsのコマンドプロンプトでも基本的にはほとんど同じ手順で実行可能です。

手順

ワークロードのインストール(所要時間10分)

下記コマンドを実行してMAUIのワークロードをインストールします。
Windowsユーザの方は管理者権限を付与してある状態で、下記コマンドのsudoを省略してください。SDKをインストールせずにバイナリを直接配置・パスを通している場合は管理者権限なしでも実行できます。

zsh
sudo dotnet workload install maui --source https://api.nuget.org/v3/index.json

大量のデータをダウンロード・インストールするので、所要時間のほとんどは待ち時間です。のんびりお茶やコーヒーを飲みながら、しばらく待ちましょう。

タイトルで「実質」と謳っているのは、この時間を除外しているためです。

アプリの作成(所要時間1分)

任意のディレクトリで下記コマンドを実行してMAUIアプリのベースとなるソースコードを展開します。コマンド内のMyMauiAppはお好みのプロジェクト名に適宜変更してください。

zsh
dotnet new maui-blazor -n "MyMauiApp"

コマンドが成功すると、以下のメッセージが表示されます。
テンプレート ".NET MAUI Blazor アプリ" が正常に作成されました。

アプリのビルド(所要時間2分)

カレントディレクトリをMyMauiAppに移動して、ビルドコマンドを実行します。

.NET8で実行する場合

Windowsユーザの場合はコマンド内net8.0-maccatalystnet8.0-windows10.0.19041.0に置き換えて実行してください。

zsh
cd MyMauiApp
dotnet build -c debug -f net8.0-maccatalyst
.NET9で実行する場合

Windowsユーザの場合はコマンド内net9.0-maccatalystnet9.0-windows10.0.19041.0に置き換えて実行してください。

zsh
cd MyMauiApp
dotnet build -c debug -f net9.0-maccatalyst

アプリの起動(所要時間1分)

ディレクトリMyMauiApp/bin/debug/net9.0-maccatalyst/maccatalyst-arm64/内にMyMauiAppというアプリケーションファイルがあるので、Finder(Windowsユーザならエクスプローラ)経由でダブルクリックorコマンドラインから直接起動します。
下図のように、アプリが起動できたら完了です。
SS001.png

Macでビルド実行時に「Could not find a valid Xcode app bundle at '/Library/Developer/CommandLineTools'. Please verify that 'xcode-select -p' points to your Xcode installation.」というエラーが発生する場合、XCodeのCommandLineツールがきちんと設定できていないことが考えられます。
XCode側でCommandLineツールの再設定を行うとエラーは解消します。

まとめ

以降のコーディングは主にC#で進めていくことになるだろうと思いますので、VisualStudioかVSCodeを利用すると効率よく実装できますが、HelloWorld的に.NETのテンプレートを試用する場合においては、それらIDEやエディタは必要ありません。
コンソールアプリでもそうですが、やはりプログラムを即動かせる、試せる点はプログラミングにとって大きなモチベーションにつながりますので、ぜひ色々試してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?