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 : 40
Users Yesterday : 44
Users Last 7 days : 183
Users Last 30 days : 964
Users This Month : 843
Users This Year : 15669
Total Users : 93473
Views Today : 59
Views Yesterday : 53
Views Last 7 days : 241
Views Last 30 days : 1232
Views This Month : 1059
Views This Year : 21264
Total views : 131199
Who's Online : 0
ちなみに、AndroidのChromeでも動作するのを確認。(エミュレータ上だけど)
Web Assemblyのサイズが大きくなると大丈夫かどうか分からないけど・・・