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 : 58
Users Yesterday : 65
Users Last 7 days : 345
Users Last 30 days : 1395
Users This Month : 1346
Users This Year : 1346
Total Users : 95861
Views Today : 64
Views Yesterday : 76
Views Last 7 days : 423
Views Last 30 days : 1601
Views This Month : 1549
Views This Year : 1549
Total views : 133995
Who's Online : 0
ちなみに、AndroidのChromeでも動作するのを確認。(エミュレータ上だけど)
Web Assemblyのサイズが大きくなると大丈夫かどうか分からないけど・・・