Blazor
Blazor(ブレイザー)またはASP.NET Core Blazorは、開発者がC#とHTML、CSSを使用してWebアプリケーションを開発できるようにする自由かつオープンソースのWebフレームワーク。
マイクロソフトによって開発されている。
![]() | |
作者 | Microsoft |
---|---|
開発元 | .NET Foundation |
初版 | 2018年 (6年前) (2018) |
リポジトリ | github |
対応OS | Linux, macOS, Windows |
内包元 | ASP.NET Core |
種別 | Web framework |
ライセンス | Apache License 2.0 |
公式サイト | dotnet |
テンプレートを表示 |
概要
現在までに6つのエディションが発表されている。
Blazor Server
ASP.NET Razor 形式で ASP.NET Core サーバーでホストされる。リモートクライアントはシンクライアントとして機能し、処理の大部分がサーバー上で行われる。クライアントの Web ブラウザーは小さなページをダウンロードし、SignalR接続を介してUIを更新する。Blazor Serverは .NET Core 3の一部としてリリースされた。
Blazor WebAssembly
実行前にクライアントの Web ブラウザーにダウンロードされるシングルページアプリケーション(SPA)。ダウンロードのサイズはBlazor Serverよりも大きく、アプリケーションによって異なり、処理はすべてクライアントハードウェアで行われる。ただし、このアプリタイプは応答時間が速い。その名前が示すように、このクライアント側フレームワークは、JavaScriptとは対照的に、WebAssemblyで記述されている(一緒に使用できる)。
Blazor PWAおよびBlazor Hybrid
前者はプログレッシブ Web アプリケーション (PWA) をサポートしている。後者は(Webフレームワークとは対照的に)プラットフォームネイティブフレームワークだが、Webテクノロジー(HTMLやCSSなど)を使用してユーザーインターフェイスをレンダリングしている。
Blazor Native
プラットフォームネイティブユーザーインターフェイスをレンダリングするプラットフォームネイティブ フレームワークも検討されているが、計画段階には達していない。
Blazor United
Blazor Server と Blazor WebAssembly の両方を組み合わせたもので、開発者がレンダリング モードをより細かく調整できる "両方の長所"を備えたソリューションが可能になる。このアプローチにより、Blazor WebAssembly が必要とする大規模な事前ダウンロードと、Blazor Server が必要とする常時接続のSignalRの欠点が克服される。このBlazor Unitedは.NET 8 ロードマップの一部であり、2023年現在はまだリリースされていない。
使用例
次の例は、ボタンをクリックするとインクリメントするシンプルなカウンターの実装である。
<h1>Blazor code example</h1> <p>count: @count</p> <button @onclick="IncCount">Click to increment</button> @code { private int count = 0; private void IncCount() { count++; } }
関連項目
- asm.js – C言語またはC++で記述された、クライアント側のWebアプリケーションを可能にするWebAssemblyの前身。
- Google Native Client – ブラウザの動作環境に関係なく、ウェブブラウザ上でネイティブコードを実行できるようにするWebAssemblyの前身。現在は廃止されている。
外部リンク
- 公式サイト
- ASP.NET Core GitHubリポジトリ