C Sharpの基礎 - Blazorデスクトップ
ナビゲーションに移動
検索に移動
概要
クロスプラットフォーム .NET UIフレームワークの対応状況
Blazorは多くのプラットフォームで動作し、全てのプラットフォーム間で多くのソースコードを共有することが可能である。
| フレームワーク | 初公開 | UI技術 | Windows | MacOS | Linux | Android | iOS | Web Assembly (WASM) |
|---|---|---|---|---|---|---|---|---|
| .NET MAUI | May 2022 | XAML | Yes | Yes | No | Yes | Yes | No |
| Blazor | Sep 2019 | HTML + CSS | Yes | Yes | Yes | Yes | Yes | Yes |
| Avalonia | Feb 2015 | XAML | Yes | Yes | Yes | Yes | Yes | Experimental |
| Uno Platform | Sep 2018 | XAML | Yes | Yes | Yes | Yes | Yes | Yes |
| Xamarin.Forms | May 2014 | XAML | Yes | No | No | Yes | Yes | No |
XamarinはMAUIに取って代わられており、MAUIはWebをサポートしていないため、Avalonia UI、Uno Platform、Blazorが選択肢に挙がる。
以前のBlazorは、WinForms / WPFのWebView2を使用したWASMとWindowsのみであった。
現在では、Maui Blazor Hybridがある。
Blazorプロジェクトの構造と分割パターン
- 共有ライブラリ
- コアクラス
- コアクラスを保持する
<Project Sdk="Microsoft.NET.Sdk">型のOpenHabitTracker
- コアクラスを保持する
- Razoorファイル
- Razoorファイルを保持する
<Project Sdk="Microsoft.NET.Sdk.Razor">型のOpenHabitTracker.Blazor
- Razoorファイルを保持する
以下に示すように分割することにより、ロジックはUIから分離されて、Razorファイルには数行のC#コードが含まれるようになる。
C#のソースコードを.razor.csファイル (コードビハインドファイル) に記述するとエディタの動作が改善される。
また、C#のソースコードを別のライブラリに記述することもできる。