Blazorのセットアップ等は@Nossaさんの記事
WebAssembly でシングルページアプリケーションが開発できる Blazor フレームワークの公式チュートリアルをやったら近未来感が凄かったに記載されているのでそちらをご覧いただくとして、ここではプロジェクト作成中のダイアログに表示される3種類のBlazorの違いです。
- Blazor
- ダウンロードしてきたネイティブコードをブラウザー上で動かします。
- サーバーサイドには動的なコンテンツを置きません。
- Fetch dataのサンプルも、サーバー上に置かれた静的なJSONファイルをHttpClientで読み込みます。
- Blazor(ASP.NET Core hosted)
- ダウンロードしてきたネイティブコードをブラウザー上で動かします。
- サーバーはASP.NETのAPIサーバーです。
- Fetch dataのサンプルは、HttpClientでAPIサーバーからJSONを読み込みます。
- Blazor(Server-side in ASP.NET Core)
- Blazorは(ネイティブコードは)ダウンロードされず、サーバー上で実行します。
- そのため、WebAssemblyに対応しないブラウザーでも実行可能です。
- オフライン実行には向きません。
- サーバーとの通信はSignalRが使用されます。
SignalRの説明はこちら。ASP.NET SignalRを知る(@IT)