4 ms·
Blazor actually looks compelling now that it has server side streaming and rendering, as well as component level interactivity. Once .NET is integrated with th
by zengid 3y ago
Blazor actually looks compelling now that it has server side streaming and rendering, as well as component level interactivity.
Once .NET is integrated with the new WasmGC features, it will get even better! (I don't think they mentioned WasmGC on the roadmap but I can bet anything they're going to do it).
- Dudester230602 3y agoI am slightly surprised they still did not replace it with some 80% similar "WasmUI". Which XAML framework are we on now by number?
- oaiey 3y agoYou could run Maui with canvas rendered controls. Just some coding work away. But honestly, .NET is a enterprise thingy. Normal for them is that they coexist with angular, react, and many other UI toolkits. Reuse of css and web components is the customer need, not a Silverlight.
- mdasen 3y agoYes, it really does. It means that you can use component style development while having a regular server-rendered app. If/when you want some interactivity, you can add it simply without much effort. With .NET 8's Blazor, you can just have regular pages for 90% of your stuff and just use WASM (or websockets) for 10% of stuff. The good thing here is that you get fast initial page loads and navigation and the disadvantages of WASM are a lot smaller (like larger downloads than JS since it's shipping a GC and such). .NET is following the WASM GC stuff. There are some Post-MVP features for WASM GC that will benefit .NET. Note, I'm not an expert on this and this is coming from memory. That said, .NET has some features that won't be supported well by the WASM GC MVP. There's always a trade-off between supporting more and getting stuff out into the world so that languages that might not need the features can start using it (and they can learn from the usage which will benefit everyone). For example, .NET allows more pointer stuff than a lot of GC'd languages. .NET's `unsafe` isn't used much by most .NET programmers, but it is there. I think maybe .NET has stronger guarantees around finalizers than Java (where they aren't guaranteed to ever be run). The WASM GC is just an MVP at this point, but it has landed and they're working on its future. It really feels like we're getting to that point where WASM is going to really offer a better experience in the near future. Ultimately, the timing of WASM GC wouldn't work out for the .NET 8 timetable, but I'd expect there to be a lot of work on it for .NET 9 next year. It's possible that a lot of Post-MVP stuff will land in WASM GC to help .NET and there's probably some opportunity to make Blazor work around other stuff. I think they haven't mentioned it or put it on the roadmap because they're still figuring out how it's going to go (and we'll probably know more in like February). But they are certainly looking at WASM GC and it's likely to offer a nice boost for .NET 9.
- Rapzid 3y agoI want to want to use it but have tons of questions would need to research. Building a professional component lib is a pita. Last I checked there were a billion React component libs and like one OSS Blazor lib in progress. Plus the usual commercial libraries you typically see in the .Net ecosystem. Accessibility is a pita and aria requires JavaScript. How does this work? State management in a way that's extendible? I love Mobx but the only thing active is a fluxor lib(yuck). Can other JavaScript code even plug into this? Extensibility in general. Can new functionality be added via dynamic loaded plugins? I would end up needing to interop with a parallel JavaScript(Typescript) codebase. My msbuild foo is pretty strong these days but would be nice to have a straightforward project config accounting for this.
- danroth27 3y agoYou can find .NET's position on the WasmGC spec here: https://github.com/dotnet/runtime/issues/94420 https://github.com/dotnet/runtime/issues/94420.
- zengid 3y agoThank you!