this post was submitted on 26 Jan 2024
87 points (92.2% liked)
Programming
17344 readers
150 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
My two cents: I strongly agree with this. We just deployed an intranet blazor server app running on Linux (don't know which distro) and apache (we might switch to nginx soon). It works very well and we had to write less than 100 lines of JS (mostly for file download and upload) One of my workmates was hired one year ago and at the time he didn't know anything about .Net stack. Now he is mostly autonomous and he loves .Net and blazor in particular. Obviously YMMV.
Bundle size is my only complaint with blazor, has to send the .net runtime in webassembly to the client.
Aside from this, C# on the browser is an absolute joy to use. I'd use for everything if I could.
You are talking about Blazor webassembly, I am talking about Blazor server side, which loads as fast as a "normal" website.
Server side Blazor has other caveats, that's why I specified it is an intranet project, where server side Blazor fits very well. Anyway, at the moment, Microsoft is still putting effort in polishing both type of Blazor hosting model.
This is not our first Blazor intranet web app and some of them are running in production for one year more or less.
It is really a joy to program using Blazor, especially if you need cross tab/browsers/device/user real time communication, which comes almost free thanks to underlying SignalR channel.
Ah you mean Razor then. Blazor lets you run C# in the browser, but Razor is the one that needs a server and streams changes to the client using signalR.
Razor is the templating engine that's been there since the original MVC. Blazor Server is the one that needs a server and streams changes to the client using signalR. Blazor WASM is the one that uses Web Assembly. As of .Net 8, Blazor can now also ne used as a generic SSR backend. They all use Razor Components, which is a component model using the Razor engine.
Not to be confused with Razor Pages, which is also a generic SSR backend.
I know Microsoft didn't get this right with naming and you got caught in the trap but there are 2 (actually 3) ways of hosting Blazor.
I also see that this confusion won't help OP choose Blazor over some more coherent dev environment hehehehe
Sorry, that's my bad, I was under the impression that Blazor and Razor were two distinct ways of doing things. Thanks for that link, it was very helpful.