特徴

  • バックエンドもフロントエンドもC#で開発できる
  • コードはC#で書き、コンパイルはWeb Assemblyを利用、必要なJSのAPIやライブラリーはJavaScript Interopで呼び出せる
  • Blazorを利用すれば、クライアントロジックをサーバーで処理することもできる
  • つまり、クライアントサイドとサーバーサイドのインタラクティブさのみならず、SSRレベルのセキュリティも持てるようになる
  • Blazor アプリは、C#、HTML、および CSS を使用して構築された再利用可能な Web UI コンポーネントで構成されている
  • Blazor の場合、開発者は C# を使用してクライアント コードとサーバー コードを構築できる
  • フロントエンド クライアント コードとバックエンド ロジックとでコードとライブラリを共有することもできる
  • すべてのコードに C# を使用すると、フロント エンドとバック エンド間のデータ共有、コードの再利用による開発の高速化、メンテナンスが容易になる
  • Blazor を使用して以下を生成できる
    • WebSocket 接続を介して UI の相互作用を処理するサーバー側コード
    • WebAssembly を介してブラウザーで直接実行されるクライアント側の Web アプリ

シリーズ

Blazor Server

  • サーバーサイドを C# で記述。 ASP.NET WebForms? に置き換わるものとされる
  • クライアントサイドとは、SignalR で通信し、リアルタイムに同期をとる

Blazor WebAssembly

  • Blazor Server と違い、クライアントサイドで C# が動作する Web アプリケーションを作成できる
  • クライアント サイドのプログラムを JavaScript ではなく、C# で記述
  • クライアント サイド (Web ブラウザー) 上で、WebAssembly の .NET が動作する

Blazor PWA (Progressive Web Application) (将来)

  • Web アプリケーションが単独のアプリケーションとして動作する

Blazor Hybrid (将来)

  • Electron や WebView? を用いてデスクトップアプリケーションを開発

Blazor Native (将来)

  • ネイティブアプリケーションを開発

コンポーネントライブラリ

  • Syncfusion
    • 有料だが、以下の条件を満たせば無料で使用可
      • 年間の収入が100万ドル以下
      • 開発者が5人以下

開発

NuGet

Microsoft.AspNetCore.Components.WebAssembly

Visual Studio Code

dotnetコマンド

  • Blazor Server プロジェクトの初期化
    dotnet new blazorserver -f net6.0
  • Blazor WebAssembly プロジェクトの初期化
    dotnet new blazorwasm -f net6.0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-11-11 (木) 16:58:17 (897d)