本文へスキップ
BecomeCoder

Blazorコース · 第1章 Blazorの世界 ― C#で作るWeb UI · レッスン1

Blazorとは ― JavaScriptなしでWebを作る

ローカル実施

導入

Webページの動きは長らくJavaScriptが担ってきました。「C#は得意だけどJavaScriptは苦手」という人は多いはず。Blazorは、そのWebのUIC#だけで書けるようにする.NETのフレームワークです。これまで学んだクラス・メソッド・イベント・非同期が、そのままWeb画面づくりに活きます。

説明

Blazorでは、画面をコンポーネント.razorファイル)という再利用可能な部品として組み立てます。1つのコンポーネントの中に、HTML(見た目)とC#(ロジック)が同居します。

Blazorには「どこでC#を動かすか」で主に3つのホスティングモデルがあります。

flowchart TB
    subgraph WASM["Blazor WebAssembly"]
        A1["C#がブラウザ内で直接動く<br/>(WebAssembly)"]
    end
    subgraph SERVER["Blazor Server"]
        A2["C#はサーバーで動き<br/>画面差分をSignalRで送る"]
    end
    subgraph AUTO["Blazor Web App(.NET 8〜)"]
        A3["サーバー描画+必要な所だけ<br/>対話可能に(Auto)"]
    end
  • Blazor WebAssembly(WASM): C#(.NETランタイム)がブラウザの中で直接動く。サーバー不要で配れる。
  • Blazor Server: C#はサーバーで動き、画面の変化だけを常時接続(SignalR)で送る。初期表示が軽い。
  • Blazor Web App(.NET 8以降): サーバーでまず描画(SSR)し、対話が必要な所だけ後から有効化する。今の既定。

実はこの学習サイトのC#実行エンジン自体がBlazor WebAssemblyで動いています。ブラウザの中でC#が動いている証拠です。

どのモデルでも、書くコンポーネント(.razor)は同じ。まずはコンポーネントの書き方に集中しましょう。

まとめ

  • BlazorはC#だけでWeb UIを作れる(JavaScript不要)
  • UIは.razorコンポーネント(HTML+C#の同居)で組み立てる
  • ホスティングモデルは WebAssembly / Server / Web App(Auto) の3系統。書くコンポーネントは共通

次回: 実際に最初のコンポーネントを書いて、C#の値を画面に埋め込みます。