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 : 18
Users Yesterday : 34
Users Last 7 days : 185
Users Last 30 days : 817
Users This Month : 364
Users This Year : 2826
Total Users : 97341
Views Today : 26
Views Yesterday : 40
Views Last 7 days : 252
Views Last 30 days : 1048
Views This Month : 487
Views This Year : 3409
Total views : 135855
Who's Online : 0
ちなみに、AndroidのChromeでも動作するのを確認。(エミュレータ上だけど)
Web Assemblyのサイズが大きくなると大丈夫かどうか分からないけど・・・