
【Blazor】 Blazorとは?
- Web開発の現状
- なぜBlazorが注目されているのか?
- ホスティングモデル
- Blazor WebAssemblyの特徴
- Blazor Serverの特徴
- まとめ
目次
Web開発の現状

まずはじめに、近々のWebアプリケーションの開発手法について少し考えてみましょう。
サーバーサイドの開発には、C#、Java、PHPなどのプログラミング言語がよく使われています。 一方、クライアントサイドでは、Angular、React、VueなどのJavaScriptフレームワークがよく使われています。
これらのJavaScriptフレームワークは、最近までクライアントサイドの開発を大半を占めていましたが、 現在はBlazorなどのフレームワークも注目されつつあります。

なぜBlazorが注目されているのか?

サーバーサイドとクライアントサイドで異なるプログラミング言語とフレームワークを学ぶには、かなりの労力を要します。
Blazorでは、サーバーサイドとクライアントサイドで同じC#言語で記述できるので、 C#を学習済みのエンジニアには、学習コストを少なく済みます。
他にも理由があるとは思いますが、筆者は最大のメリットだと思っています。
ホスティングモデル

Blazorには、Blazor WebAssemblyとBlazor Serverという主に2つのホスティングモデルがあります。
Blazor WebAssemblyはクライアントサイドのホスティングモデルであり、アプリケーションはブラウザ上のWebAssemblyで直接実行されます。
WebAssemblyというのは、ウェブ上でコードを高速に実行するための技術で、ChromeやFirefox、Safariなどの主要なウェブブラウザでサポートされています。 この技術を利用すると、プラグインをインストールせずとも、多くのブラウザでそのままC#を動作させることができます。
一方、Blazor Serverはサーバーサイドのホスティングモデルであり、ASP.NET Coreアプリケーション内のサーバーでアプリケーションが実行されます。
Blazor WebAssemblyの特徴

Blazor WebAssemblyには以下のような特徴があります。
- クライアント側で実行される
- 初回ロードに時間がかかる(必要なすべての資源をダウンロードする必要があるため)
- オフライン対応が容易
- サーバーへのリクエストが少ない
そのため、使いどころとしては、クライアント側で多くの処理を行い、サーバーとの通信を最小限にしたい場合や、 PWA(Progressive Web Apps)やオフライン対応のアプリケーションを作成したい場合に用いられることが多いです。
Blazor Serverの特徴

Blazor Serverには以下のような特徴があります。
- サーバー側で実行される
- 初回ロードが速い(必要なのは少量のJavaScriptとHTMLくらい)
- オフライン対応は困難
- サーバーと頻繁に通信する必要がある
まとめ

Blazorは優れたフレームワークであり、C#(.NET)開発者にとって非常に価値のあるスキルです。
このサイトでは、Blazorの記事をどんどん更新していこうと思いますので、参考にしてもらえると幸いです。
この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?