Blazorを使ってみた(2)…再
役に立つ情報を書けていなかったので1つ前の記事は削除しました。
Blazorに取りつかれて毎晩少しずつコードを書いていると、どんどんコントロールの整理が進んでいきます。今のところ業務的なDBに対するCRUDを行なう画面を作ってもJavaScriptの記述量は0行という状態です。画面遷移等もC#で書けるので、極めて特殊な処理以外はC#のみで記述できることがハッキリしました。
ただし、デバッグ環境については出来るだけ正確に書いておくべきかと思いました。
- サーバーコードはVisualStudioでデバッグ可能です。
- クライアントコードはかなりデバッグ困難です。VisualStudioからはブレイクポイントを置けませんし、ブラウザのデバッガーでもWebAssembly内部の狙った箇所にブレイクポイントを置くのは困難なはずです。
それでも開発したい場合のために参考情報を記載します。
- Chromeでは例外発生時に.cshtml上の行番号とスタックトレースを見ることが出来ます(C#コード中でもOK)。
- 業務的なアプリケーションの場合はサーバーサイドの処理を充実させる指向にすることで従来のMVC並の開発効率は維持できます(C#を使えることが嬉しい場合は多少勝る可能性もあり。うーん苦しいかな…?)。
- コントロール群を非常に簡素に記述できます。C#のプロパティとのデータBindとイベント処理が非常に強力なおかげです。XAMLで使うみたいなコントロールもその気になれば出来そうです。
このおかげで、クライアント側に有力なデバッガーがなくても大体やっていける局面が増えています。
cshtmlは再利用性がとても高いので、共通化できるところをひたすら共通化して行ったら、ものすごく短く綺麗にまとまるのではないだろうかと考えました。
それでまずは汎用性向上のために bootstrap を綺麗にラッピングしてみようかと考えたのですが…。 ただその際にふと、自分が考えている程度の事は他の人も考えていそうだと思って探したら、居ました。 その名もBlazorStrap
Blazor Strap Documentation Site
GitHub - chanan/BlazorStrap: Bootstrap 4 Components for Blazor Framework
書いているのは.cshtmlですが、このくらいまでは整理できそうだよなと思っていたところまでを綺麗に纏めてくれていて素敵です。 ここまでは何も考えずNuGetで組み込んで良いと思います。