Citrus-Field TECH BLOG.

フリーランスのITエンジニア、iOSアプリの個人開発、業務委託(小売、ヘルスケア)を行っています。お仕事については、メールもしくはXのDMでご相談ください

MacOSで動作する.NET MAUI Blazor Hybrid アプリの構築

タイトルの通りなんですが、Windows専用の .NET Framework 4.8が開発終了し、マルチプラットフォーム対応の.NET 7/8/9 が登場してから一度も触ったことがなかったので、ASP.NET Core Razor SDKを用いた、アプリ開発を確認してしました。

.NET MAUI + Blazor SampleApp

噂には聞いていたのですが、.NET Framework 4.xとは、全く異なります。

画面のUIに、WinFormなどはありません。

以下、技術要素を整理すると、

.NET MAUI Blazor (または MAUI Blazor) は、.NET MAUI (Multi-platform App UI) フレームワーク上で Blazor アプリケーションを構築するための技術です。

.NET MAUI

クロスプラットフォームのネイティブモバイル/デスクトップアプリケーションを開発するためのフレームワークです。C# と XAML を使用して UI を構築し、iOS、Android、Windows、macOS など、複数のプラットフォームで動作するアプリケーションを作成可能。

Blazor

C# と HTML、CSS を使用して Web アプリケーションを開発するためのフレームワーク。Blazor アプリケーションは、WebAssembly を使用してブラウザ上で動作します。 .NET MAUI Blazor では、.NET MAUI アプリケーションの UI を Blazor (Razor コンポーネント) で構築します。これにより、Web 開発の経験がある開発者は、慣れ親しんだ技術 (HTML、CSS、C#) を使ってネイティブモバイル/デスクトップアプリケーションを開発可能。

HTML、CSS、C#を使用したCSHTMLという拡張子のファイルも初めて知りました。これはRazor構文というものが使われています。 learn.microsoft.com

このような感じの書き方をします。

@for (var i = 0; i < people.Length; i++)
{
    var person = people[i];
    <text>Name: @person.Name</text>
}

今の所、違和感があります。

このリポジトリは、主に自分が.NET MAUI の学習や、実際のアプリケーション開発の参考になるように作成したサンプルコードです。

github.com

まだ、ほとんど機能が入っていませんが、今後、アップデートしていく予定です。