Blazor WebAssembly on Azure Static Web Apps
hanselman.com
hanselman.com
> An app like this can basically scale forever, cheaply. It can put the browser to work (which was basically hanging out waiting for anglebrackets anyway) >
It’s no more scalable than any other SPA framework as an Azure Static Web App, but it does require shipping a .Net runtime to every user. I’m surprised there’s rarely a mention of this important consideration in the discussions I’ve seen around Blazor.
Yes the user will notice, just the same as they notice that horrendously bloated SPAs are slow.
I just tried loading NYTimes.com and it was 7.48MB.
My Gmail page is 9.31MB.
A blank Google Doc is 16.92MB.
That said, the (very impressive) Pixilart web app is only 1.91MB.
You can use your fancy lang and emit WASM.
http://vps2.etotheipiplusone.com:30176/redmine/projects/emsc...
Qt in browser gets me excited :)
Biggest advantage is response time on complex views, followed by the ability to guarantee pixel-perfect presentation on any device capable of websockets and jpeg decoding. Caching of content is on a final tile basis rather than full viewport. This increases the hit-rate substantially, as tiles are not at fixed pixel boundaries, but rather aligned with logical UI elements. Fixed sized elements will more likely produce the same final tile(s) with equivalent SHA256 regardless of client device. Hashing is performed in terms of the UI element's properties (dimensions, size, text, color, etc), so cache lookups can be made along these lines.
Biggest downside is latency - This approach has a similar practicality envelope as Google Stadia, et. al. WRT distance from datacenter. 2nd biggest downside is the fact that this technique is fundamentally incompatible with classic web development ideologies and requires new ways of thinking about solving problems. I personally find this last point to be a benefit, but I recognize it would prevent wider adoption in the community.
Latency might be the biggest downside for your specific use case, but I’d urge anyone tempted to roll their own browser renderer to properly consider text-related concerns first.
I am not attempting to replace HTML/CSS or pass the Acid3 test. I am just going for something that would be sufficient for purposes of building highly-responsive internal business dashboards and other utilitarian applications where predictable and fast layout is more important than arbitrary style support.