ケヴィンのなんかいろいろ

ハースストーンとかその他色々なことについて話すブログです

MENU

Webサービス開発をしたことが無いやつがBlazorで開発して得た知見をまとめる場所

まとめます。独立した記事にできそうなやつができたらQiitaに移したりしそう。

プロジェクト構成 10/26時点

対象ランタイムとメインになるパッケージを書いてます。

  • Client
    • クライアントサイド。SPAになってます。
    • .NET Core 3.0
    • Blazor Server
  • Server
    • サーバサイド。基本WebAPIの提供のみ。
    • .NET Core 3.0
    • Microsoft.AspNetCore.Mvc 2.2.0
  • Shared
    • 共通モデルや拡張メソッドなどを入れる。
    • .NET Standard 2.1

ソースコード

ある程度見せられるものになったら追記します。

お役立ちリンク

高速化

.NET Core 3.0はC# 8.0の機能が使えるみたいなので嬉しい。

その他

  • なんかプロジェクト作成時に上手く読み込んでくれないことがある。Visual Studioを再起動したら治る(たぶん)。
  • .razorファイルをコード整形するとズレるので注意。
  • .NET Core 3.0のBlazorは2種類ある。
    • 「.NET Core 3.0」正式版リリース!デスクトップアプリ開発者の反応は!? - GrapeCity.devlog
    • Blazor Server -> サーバ上でコードを実行して、SignalIRで通信する。正式になったのはこっち。
    • Blazor WebAssembly -> WebAssemblyを使用してクライアント上でコードを実行する。2020年5月に正式版がリリースされるらしい。
      • 敢えてWebAssemblyを使用する利点が分からん…。正式とプレビューの違いは置いといて、最初のDLに時間かかるし、セキュリティ的な問題も起きそうで怖い。
  • Blazor WebAssembly + gRPCは(今のところ)できないっぽい
  • Blazorise.Bulmaが動かん
    • なんでかわからんけど動かない。bulma版は開発中らしいのでまあそういうあれなんでしょう。
  • .editorconfigでエディタの設定をソリューションに含められる
    • OSSだととても便利そう