Hacker News new | ask | show | jobs
by perfectphase 2446 days ago
Blazor has been split into two versions, there is a server side and a client side version, both that share the same component model. The server side version went GA a last week with .Net core 3.0, the client side is looking like it will GA in April 2020. The reason given is that their not happy with the size of the payloads required for now, the aim to have everything compiled to webAssembly by then, not just the mono runtime that's running as an IL interpreter at the moment.

The server side version is interesting, it ships DOM updates to the client from the server over a websocket (musch like OOUI https://github.com/praeclarum/Ooui). Not something that I'd use for production, but for quick internal projects which have the feel of a client side SPA, but while not requiring you to build the API layer it's quite neat.

2 comments

> The server side version is interesting, it ships DOM updates to the client from the server over a websocket

WebForms 2020! Amazing.

Except it is much more intuitive. A repeater- like construct (a foreach) just works. Collections just work. No thinking about data binding at the correct time in the life cycle of the page. You can even call front-end javascript in a sync-like (using async) matter. You can just call a javascript confirm if you like. It is awesome.
I'd say more like Elm's Pheonix LiveView, to be honest.
Yep, that's pretty much the aim :)
> The reason given is that their not happy with the size of the payloads required for now

Question: how will they go about shrinking them? Will this happen in the near future?

I've tried out Blazor before and the page doesn't load until you've downloaded everything. Will it always be that way, or will it be like JS eventually -- you see the page, and the JS loads in the background?