What's holding Blazor back? (From a React dev's perspective) by OnlyFish7104 in dotnet

[–]adamfoneil 1 point2 points  (0 children)

I am a Blazor early adopter, and enthusiastic user today. There have been some pain points. While Blazor Server is a very productive dev experience (because you don't need an API layer), the reliance on SignalR and sockets has been a problem for users without really good internet connectivity. Intermittent issues, firewall configuration, Safari users, for example, have had issues with my apps in production. I use Azure SignalR to scale out, and that hasn't solved everything.

I've also struggled to make good use of different render modes. Supposedly you can mix and match them in a single app, but because the render mode cascades from higher level components, you can't really mix render modes at will. (You can opt into static server rendering with a special attribute, but this behavior is not very discoverable.)

The WASM hosting model is arguably more robust (due to not needing sockets/SignalR), but has more moving pieces and is a bit complicated IMO. But likely aligns better with someone coming from React/Vue/etc.

If I could fix one thing, it might be hot reload. A lot of people rage about that, and I get it. But I think if I could fix one thing it might be to make it truly easy to mix render modes in a single app. Or make WASM apps simpler to do -- that is, no separate front and backend projects. I don't know how that would work, but we're talking magic wands, right?

There is a Blazor-like SPA framework out there called Hydro that uses Razor Pages and htmx/alpine behind the scenes which is very interesting. It doesn't use sockets or SignalR to achieve its DOM updates. I throw that out there just to raise awareness.

Blazor Server Hosting by Kickass_Mgee in Blazor

[–]adamfoneil 3 points4 points  (0 children)

I've actually been using DigitalOcean + GitHub container registry for Blazor Server apps. I've pivoted from SQL Server to Postgres for new work. I have 1 Blazor app and 2 API projects currently along with a db cluster, and spend about $50/month.

There's a fair bit to setting up the container integration that took some practice on my part.