Cheaper & faster development by leveraging large libraries/frameworks, but inability to automatically drop most unused parts of those libraries/frameworks. You could in theory shrink Electron way down by yoinking out tons of browser features you're not using, but there's not much incentive to do it and it'd potentially require a lot of engineering work.
isn't it a combination of younger developers not learning to programme under the restrictions of limited memory and cpu speed, on top of employers demanding code as soon as possible rather than code that is elegant or resource efficient or even slightly planned out
The hp printer app says it needs your location to connect to WiFi. It says it needs your location all the time when not using the app, again to connect to WiFi
It's like Moore's law. The number of bytes for a basic app doubles every 2.5 years.
When I was young, we'd get a few different games games on a single 1.4 Mb floppy disk. The games were simpler, sure, but exactly the same games now would be far bigger in bytes.
It's all because of Electron, unnecessary libraries, and just bad coders. Asus Armoury Crate weighs a lot and is so slow, but it's basically a simple app. Total Commander has much more features, but it's fast, lightweight, and consumes 9 MB of RAM.
Oh, they have new functionality. It's all in the back end, detailing everything you do and sending it to the parent company so they can monetize your life.
I'd argue that deploying from one codebase to 3+ different platforms is new functionality, although not for the end user per se.
I wish though that more of the web apps would come as no batteries included (by default or at least as a selectable option), i.e. use whatever webview is available on the system instead of shipping another one regardless of if you want it or not.
That topics always made me curious tho....take a sample AAA games back then has smaller size compared to shitty Unity 2D games nowadays and i wonder why ?
Imo the biggest one people don't account for is this: Dev salaries are incredibly high. if you want fast performance the most optimal way would be to target the platform and use low level native code, so C++ or Swift.
It would cost you like 20x more than just using electron and it will cost you bigly if you have multiple platforms to maintain.
So it turns out having 1 team crunching out an app on electron with hundreds of dependencies is cheaper, naturally that's what most companies will do.
Don't want to use electron ? Then it's kind of the same issue except this time you're using Java and C# and you have to handle platform specific things on your own (think audio libraries for example). It's definitely doable but will be more costly than using a cross platform chromium app.
It's nearly all just using a whole library instead of the specific single function thats actually required, because few people are actually writing any code these days.