News for hackers. Stuff that matters.
Re:.NET Blazor by LaGrange on Tuesday November 21, 2023 @09:20AM (#38363945)
> All the dis-advantages are not relevant for enterprise LOB apps, which Blazor is best suited for.

The disadvantages: the _actual user_ is going to have a horrible time with the application. It will load slowly, work slowly, probably break the moment you inevitably will have to touch JS, and if the browser the user hates anyway is out of sync with the forced updates, the entire thing will blow up.

But enterprise LOB don't care.

> I don't have to maintain the cognitive overhead of translating domain models into JSON models and vice versa.

Every single time I've seen this attitude, it turned out that actually it just meant you're going to have a worse time when you inevitably had to do that translating.

Java web applets aren't new. "Using models directly from the domain" is not new. Even when the runtime is friendly, the latter is a bad idea.

Re:.NET Blazor by mbesto on Tuesday November 21, 2023 @09:52AM (#38364368)
Serious question - do you know this to be in fact true of Blazor specifically, with real life comparisons, or is this just conjecture based on analogous frameworks?
Re:.NET Blazor by LaGrange on Tuesday November 21, 2023 @08:35PM (#38373439)
This is silly. I mean sure, I did try out Blazor - and ended up unimpressed despite otherwise quite liking C#/.Net - but ultimately it's Blazor making extraordinary claims.

And some of what I wrote is about the programming model itself - by now my experience is that domain models should generally stay on a whiteboard - it's quite rare that's actually what's more convenient in any specific place in the codebase. Trying to "streamline" that tends to end up just introducing even more complexity due to poor abstraction match.

Re:.NET Blazor by brtkdotse on Tuesday November 21, 2023 @09:50AM (#38364347)
> It will load slowly, work slowly

Why do you think this will be the case?

Re:.NET Blazor by Capricorn2481 on Tuesday November 21, 2023 @09:56AM (#38364422)
Well for Blazor Webassembly at least, you need to download the entire .NET runtime and WebAssembly isn't quite as fast as JS in browsers yet.

Couple that with the fact that interoping with JS can be a lot more annoying than just using JS

Re:.NET Blazor by brtkdotse on Tuesday November 21, 2023 @09:59AM (#38364472)
> Well for Blazor Webassembly at least, you need to download the entire .NET runtime

It's a one-time download that's smaller than the initial load of the Facebook feed

Re:.NET Blazor by littlecranky67 on Tuesday November 21, 2023 @10:35AM (#38365029)
plus in LOB apps very likely to be in the browsers cache already. And dont forget buisness workstations are usually connected via at least 1GBit Ethernet.
Re:.NET Blazor by guhidalg on Tuesday November 21, 2023 @01:39PM (#38368040)
I'm not who you're replying to but designing for excess resources is the kind of thinking that leads to slow software.

> And dont forget business workstations are usually connected via at least 1GBit Ethernet.

NOPE! More likely they are WiFi connected Dell shitboxes running Windows 11 with 8GB of memory, half of which is taken up by all the browser tabs, Teams, Office, and the 30 horrible little programs that IT deploys via group policy.

Speed matters. The user is probably running your code + 30 other things. Don't assume your page is the only thing they care about.

Re:.NET Blazor by littlecranky67 on Tuesday November 21, 2023 @02:50PM (#38369064)
Any data to back this up?
Re:.NET Blazor by LaGrange on Tuesday November 21, 2023 @08:30PM (#38373395)
Any data to back _your_ claims up? Because, y'know, sure, all _we_ have is years of lived experience.
Re:.NET Blazor by littlecranky67 on Wednesday November 22, 2023 @03:46AM (#38376695)
If your point is that companies run outdated, shitty computers connected over unreliable WiFi, _your_ corporate life experience has been vastly different than mine.
Re:.NET Blazor by Capricorn2481 on Tuesday November 21, 2023 @10:13AM (#38364688)
What about the CPU usage?

Facebook loads a lot of information. I don't think we should be comparing the download size of a hello world app with loading dozens of images on a facebook feed.

Re:.NET Blazor by strich on Tuesday November 21, 2023 @10:35AM (#38365020)
Honestly I'm afraid you don't know what you're talking about. Blazor just isn't that experience and hasn't been for awhile.
Re:.NET Blazor by Capricorn2481 on Tuesday November 21, 2023 @10:39AM (#38365101)
Well color me convinced!
Re:.NET Blazor by ninjis on Tuesday November 21, 2023 @10:38AM (#38365081)
.NET 8 is suppose to greatly improve AOT. Depending on your use case, you might be able to get around bundling the runtime entirely.
Re:.NET Blazor by Capricorn2481 on Tuesday November 21, 2023 @10:50AM (#38365277)
As far as I understand, .NET 8 AOT has nothing to do with the webassembly blob that gets served to the client.
Re:.NET Blazor by ninjis on Tuesday November 21, 2023 @11:56AM (#38366299)
They’re working on it. .NET 8 introduces the option to perform a degree of trimming on the AOT output. https://learn.microsoft.com/en-us/aspnet/core/blazor/host-an...
Re:.NET Blazor by merb on Tuesday November 21, 2023 @04:52PM (#38370829)
Actually dotnet wasm can be further trimmed in .net 8. but for most non rtl people the biggest improvement will be to reduce the locale bundle. Sadly it’s not possible to specify which ones you want. Also it’s not possible to bundle DLLs/webcil. I.e the dotnet compiler will be shipped to the client thus you will also get shipped lots of dlls
Re:.NET Blazor by citizenkeen on Tuesday November 21, 2023 @10:30AM (#38364939)
Blazor Hybrid looks promising to completely negate the load time for Blazor WASM.
Re:.NET Blazor by Capricorn2481 on Tuesday November 21, 2023 @10:51AM (#38365298)
Yes that does look promising for load time, but once the Webassembly is downloaded and being used, Non high end computers can easily choke.
Re:.NET Blazor by NicoJuicy on Wednesday November 22, 2023 @01:00AM (#38375230)
Re:.NET Blazor by LaGrange on Tuesday November 21, 2023 @08:28PM (#38373384)
Literally a quote of one of the dismissed drawbacks. The post didn't question whether the drawbacks are real, just said they're irrelevant.
Re:.NET Blazor by rkangel on Thursday November 23, 2023 @09:46AM (#38393276)
I have no experience of Blazor, but the architecture of Blazor server is exactly what Phoenix LiveView (Elixir) does, and that works extremely well.

Unless your interactivity is at the level of Gmail or Google Docs, or you really care about designing for very high latency flakey connections then LiveView is great and works very reliably with a good user experience. Even on a phone with a cellular connection going through tunnels it's actually better than a lot of JS apps because it handles the reconnection (and visualisation) much more cleanly than most JS apps.