Lightning Blog
Blazor記事イメージ画像

【Blazor】 Blazorとは?

更新日:2023/09/06
この記事では、Blazorとはどのようなフレームワークかを簡単に解説していきます。

    目次

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

Web開発の現状

セクション画像

まずはじめに、近々のWebアプリケーションの開発手法について少し考えてみましょう。

サーバーサイドの開発には、C#、Java、PHPなどのプログラミング言語がよく使われています。 一方、クライアントサイドでは、Angular、React、VueなどのJavaScriptフレームワークがよく使われています。

これらのJavaScriptフレームワークは、最近までクライアントサイドの開発を大半を占めていましたが、 現在はBlazorなどのフレームワークも注目されつつあります。

クライアントとサーバー

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

セクション画像

サーバーサイドとクライアントサイドで異なるプログラミング言語とフレームワークを学ぶには、かなりの労力を要します。

Blazorでは、サーバーサイドとクライアントサイドで同じC#言語で記述できるので、 C#を学習済みのエンジニアには、学習コストを少なく済みます。

他にも理由があるとは思いますが、筆者は最大のメリットだと思っています。


ホスティングモデル

セクション画像

Blazorには、Blazor WebAssemblyBlazor 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の記事をどんどん更新していこうと思いますので、参考にしてもらえると幸いです。


ブログ内の記事で書かれているサンプルコードは、GitHubから確認する事ができます。 是非参考にしてみてください。

この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?

An error has occurred. This application may no longer respond until reloaded. Reload 🗙