dotnet core 3.1 previewでWeb Assemblyのみで動作する、Blazor WebAssembly Appが開発できるようになった。
dotnet core 3.0まではBlazor Server Appつまり、サーバーサイドで、.netの処理を行い、クライアント(ブラウザ)と通信を行って、結果を表示する方式のものしか開発できなかったのだが、Blazor WebAssembly Appでは、サーバーにアクセスするのは、ページロード時のみで、ページが読み込まれた後は全てクライアント側のWebAssembly中で処理が行われる。
Server AppとWebAssembly Appのソースは基本的に互換性があるようだ。(ただし、.netライブラリによってはサポートされないものもある)
試しに、Server Appのrazorページをコピーしてみたら、キチンと動作した。
Server Appと比べてbuildに時間がかかるのと、生成されるWebAssemblyのサイズが大きいためか、最初のページローディングには少々時間がかかる点が気になるが、一度ローディングしてしまえば、クライアント側で全て処理するので、処理している間にWebサーバーが落ちてしまっても問題無い。(実際にロード後にサーバーを落としてみたが、問題無く動作した。)
結構面白い技術だね。





Users Today : 2
Users Yesterday : 37
Users Last 7 days : 186
Users Last 30 days : 1080
Users This Month : 1009
Users This Year : 4357
Total Users : 98872
Views Today : 3
Views Yesterday : 46
Views Last 7 days : 239
Views Last 30 days : 1280
Views This Month : 1203
Views This Year : 5260
Total views : 137706
Who's Online : 0
ちなみに、AndroidのChromeでも動作するのを確認。(エミュレータ上だけど)
Web Assemblyのサイズが大きくなると大丈夫かどうか分からないけど・・・