日記です。
やったこと
Session #1をやってみた
GitHubからプロジェクトをクローンして、とりあえず実行してみる
どうやらこちらもWebAssembly版だと思われ
プロジェクトの構成はこんな形で、.Server
がWebAPIの機能部分ぽい
で、ClientからServerへAPIを使ってピザの情報を取得しようみたいな事をこの章ではやった
結果はこんな感じ
感想というか整理
そもそもWebAssemblyってなんだっけ
この記事が一番わかりやすい
古の時代はJavaScriptは飾りです、偉い人(ryみたいな頃から
現代はJavaScriptでなんでもやり、速さを求める時代となった
そこで生まれたのがWebAssembly。
C#で作りあげたdllをブラウザがDLして、WebAssemblyが解釈して実現させてるという感じなんだろうか
実際にピザアプリをChromeで実行し、F12でネットワークみてるとDLLのパスが出てくる
これを200でGetしてるので、それに対してwasmがいい感じにやってるという認識
時代は進化してるなぁと感じられ
APIはどこからやってきた?
前述の通り、BlazingPizza.Server
がAPIのコアとなる部分
今回はメニュー画面にピザを表示するという処理だが、そのピザ情報取得するための処理がBlazingPizza.Server
にあたる
Client側ではHTTPで呼び出してるだけ
↓Index.razor
protected override async Task OnInitializedAsync() { specials = await HttpClient.GetFromJsonAsync<List<PizzaSpecial>>("specials"); }
このspecialsがBlazingPizza.Server
のSpecialsController
で定義されていたという
なるほどね
ちなみにデータはSQLite製である
気になったのは、何故WebAPI機能面はBlazor製なのか
ASP.NETで普通のWebAPIも作れたはずでは
まさかBlazorはそんなフロントエンドな所ばかりじゃない!Serverもいけるのよというアピール的な感じなのか
そんな事を思いつつ、今日はこの辺にて