I've never used .NET, and don't really intend to, but I think this is interesting nonetheless.<p>This is on track to become a "built-in feature of ASP.NET Core 3.0" – recall that ".NET Core" runs on Linux, etc.<p>Much C# development is still for internal business applications. For these applications, the overhead of shipping the .NET runtime to the browser in WASM - which <a href="https://blazor.net/" rel="nofollow">https://blazor.net/</a> sadly does not seem to mention - may not be a big deal, especially if they can be cached with service workers.<p>Keeping engineers fungible and cheap to hire & train is a priority for enterprise software divisions. Software ecosystems that rely on the patience and curiosity of developers to explore an uncoordinated constellation of packages and design their own architecture (eg; Java, React ecosystems) can be suboptimal.<p>.NET's historical "all batteries included, all applications the same" promise has been key here. But for rich frontends, Angular (their current choice) has, ah, high training costs.<p>If Blazor works well, .NET Core may become the first truly full-stack, integrated, get-it-all-here, framework for modern web app development.<p>As an uninvested bystander to enterprise software development, I'm curious to see how this goes.
In Blazor, what is sent to the browser is a .NET runtime, then the .net assemblies (which are .NET CIL, not wasm) which the runtime executes. They seem to have this working well, but it's less efficient than, for example, Rust which has no runtime and compiles directly to wasm. C# is very much my goto language, but my eye is currently on Rust in this space because the scenarios where I feel the need for something other than Javascript in the browser are all performance related - i.e. I find React / JSX great for working with the DOM.
I think Blazor might have a bright future in the Electron space. Its seems to me the stars are all aligning from that point-of-view.<p>Microsoft have had great success with Visual Studio Code and are now the custodians of Electron since they brought Github this year. Also, now that Microsoft are going all in on Chromium for Windows (and dropping Edge in the process) I wonder if they will introduce Blazor into Electron for better cross platform applications.<p>I just get the feeling there is a play there (in some fashion)
What's the current state of this? Being able to develop with C# in the browser would be a dream, but the last I checked it wasn't really ready for any kind of serious use.
.NET on WebAssembly could be a really interesting escape hatch for companies that have heavily invested in .NET apps and want to move away from Windows. Right now downloading the whole framework is a prohibitively large task, but for internal apps it would probably be fine. Port something WinForms-ish over as well and those apps could be cross platform with not much work.