since all major browsers now have support for it.
Essentially, wasm provides universal "virtual machine"
The performance is close to code compiled directly to machine language (i.e. factor of 2).
Wasm is already fast enough even for many action games, that used to be possible only with native apps. And since wasm apps are pure web apps, the distribution is quite optimal.
Except for C and C++ programs (usually games), it is in theory possible to convert programs in any strongly typed language to wasm, and there are already good examples.
A typical use-case for using languages as Go and C# in web browser
is re-using server based business logic in client side web apps and even SPAs (single page web apps)
Microsoft is working on making .NET work on wasm also.
But those two approaches are quite different, and it is interesting to compare.
but it is relatively large, since not all optimizations are implemented yet.
.NET Blazor project has quite different approach. It takes Mono (.NET) VM compiled in native output (C/C++ like) and converts that to wasm using typical C/C++ toolset (LLVM).
Both solutions are "work in progress" and it is too early for conclusions.
Here are a few more details...
GopherJS vs WebAssembly for Go - DEV Community
WebAssembly excursion with Go – Boris Djurdjevic – Medium
BxJS - Compiling Golang to WebAssembly - YouTube
Welcome to the Blazor preview docs website!
GitHub - aspnet/Blazor: Blazor is an experimental .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly