Moore's law is getting us out of a hole. The processing power, and performance per watt on mobile has increase exponentially. Those people who who are stuck on three year contracts feel the pain of this idea. Yes, JS engines are getting faster, but they are being asked to do more and more stuff.
React native is a marvel of engineering, where the bridge intercepts UI calls and diverts them to native. But thats not a webapp, that re-invented version of QT, Wx, tk or whatever java uses.
My point is this: a native app on a underclocked pi zero, can animate UI items at 60FPS. Via a browser, no where near. HTML is many things, but efficient is not one of them. HTML/CSS/JS is a marvel of engineering to get it anwhere near as fast as it is, but its comes from a very slow base.
It’s an ecological concern as well: how many gigawatts of electricity a day is spent fetching react.js?
I've been asking questions like this for years now, mostly as rhetorical devices, but I swear one day I'll try to get data and compose a chart of "how much your bloated product is contributing to climate change".
And it seems that server usage consumes around 1% of the USA energy budget. Heating, industry and transportation are most of that list. Not sure apps are going to show up.
I don't expect the answer to come out very high, relative to other things. But it would be good to see an absolute value, if only to drive home the point that everything your software externalizes to your users has costs multiplied by the number of those users.
How much electricity is spent by developers using Electron based apps like VS Code and Slack and npm packages during their work hours? We should all develop in terminals, with no GUIs and no GPU usage. Only in non-bloated languages like C and ASM. Anything else is crime against the climate.
All sites should also be text only (like the motherfucking website), no images, especially hero ones.
This was the case a decade ago, but not anymore. I have been writing medium complex web apps using Angular/React, Web-workers and RxJS which runs on mobile (Android 4.4+ and iOS 9+) from last 4 years with no extra battery draining side effects and native (like) look and feel. You just need to choose write framework and responsive design UI guidelines. Today most frameworks provides it out of the box. JS, DOM and CSS engines in mainstream browsers are getting more and more performant.