日記です
前回↓
長いので折りたたむ
続きを読む日記です。
GitHubからプロジェクトをクローンして、とりあえず実行してみる
どうやらこちらもWebAssembly版だと思われ
プロジェクトの構成はこんな形で、.Server
がWebAPIの機能部分ぽい
で、ClientからServerへAPIを使ってピザの情報を取得しようみたいな事をこの章ではやった
結果はこんな感じ
この記事が一番わかりやすい
古の時代はJavaScriptは飾りです、偉い人(ryみたいな頃から
現代はJavaScriptでなんでもやり、速さを求める時代となった
そこで生まれたのがWebAssembly。
C#で作りあげたdllをブラウザがDLして、WebAssemblyが解釈して実現させてるという感じなんだろうか
実際にピザアプリをChromeで実行し、F12でネットワークみてるとDLLのパスが出てくる
これを200でGetしてるので、それに対してwasmがいい感じにやってるという認識
時代は進化してるなぁと感じられ
前述の通り、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もいけるのよというアピール的な感じなのか
そんな事を思いつつ、今日はこの辺にて
日記です。
カウンタ連打したら落ちた
ToDoアプリ、初期画面であるIndex.razor
にカウンタ表示させようぜパートにて
デバッグで実行してカウンター連打しまくったらブラウザ*1落ちた
→前述のVSのアプデの効果なのか、アプデしたら落ちなくなった
謎のエラー
Todoの値を格納するrazorの記述にて、謎のエラー表記が
特にミスっているわけではなさそうだし、実行も出来るので気になる所
そのまま進めているとエラーが消えてたりするからまーーーーいっかぁと思ったりした
Alt+Enter
とかのショートカットとか違うやんけと思う等したこのためにReSharper入れるのも億劫だしなー
WebAssemblyを感じる
wasm
とかdll
がDLされててWebAssemblyみを感じる
これらはどうやらクリーンしてビルドした時に起きてるっぽく、2度目はキャッシュなのか無さそうだ
SPA感
HTMLのBindingに対してC#のコードで処理書けるの、良い
ASP.NET MVCやってたマンとしてはBlazorでSPAを学ぶとかでも良いのではとも思う
しかしながらMVCは明確に処理の役割が分けてたけど、SPAはその編どんな感じだろうと思った
そこら編はピザアプリで知れるかな?
ここ数年C#にふれあえず、MSLearnを数ヶ月前にDockerの勉強でやってたらAzure環境構築パートを自費で構築をして放置し、本日使えないクレカ*1に請求しようとされて危うく未払い*2発生しかけましたがいかがお過ごしでしょうか?
MSLearnはAzureガッツリ使う系は無料で使えるけど、ローカルでやっておいて最後にAzure CLI使ってデプロイしてみよう!系は自費発生する可能性がある。気をつけよう
前々から気になっていたけど、当時はドキュメントが薄かったのでやるには修羅の道
今ではServerサイドがロンチされたっぽいのもあり、薄かったドキュメント類が厚くなってきたな?と
Twitterで偶然にも見かけた宅配ピザアプリ作ってみようぜワークショップをこのご時世だしやってみようと重い腰を上げた
無事完成した暁には、ピザアプリに出てくるピザに似た物を宅配ピザを頼むという謎ゴールを立てておこう
Visual Studioは偶然にも2019 preview版入れてたので、.NET Core 3.1Previewもなんでかすんなり入ったぜ
ちなみに昔話題にもなったWebAssembly版でやってみるぞ
というかドキュメントが何故かWebAssembly版を推してくるぞ
docs.microsoft.com
どうやら現時点ではチョロメもといChrome系統のみ対応しているそうな。Firefoxerである私は涙目である*3
docs.microsoft.com
どうやらピザアプリワークショップはアップと慣らしで、Todoアプリを作ってから取り組めよとのこと
なので、初期アプリのカウンターの値を増やす処理で眠気が来て本日は断念…
3の倍数の時にアホになると面白くなるのかな
そういえばだいぶ前にVueを触った思い出が蘇る↓
razorの記述がSPAっぽい~~とちょっとな知識比較できたのは嬉しかったかも
あとはServerサイドは既にDocker対応してるんですね…と思いました
ここ最近C#から離れてクラウド系なインフラを考える機会があったので、情報を追うのがやっとだ…