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.
Most resources are not consumed by wonky code or dependencies. Most resources are consumed by images and sounds.
Surely it depends on the specific software.
I imagine the ability for an app to watch me take a shit consumes about the same resources regardless of platform.
Performance/optimisation wise is an environmental catastrophe…
Because companies give zero fucks. They will tell you they need tons of IT people, when in reality they want tons of underpaid programmers. They want stuff as fast and cheap as possible. What doesn’t cause immediate trouble is usually good enough. What can be patched up somehow is kept running, even when it only leads you further up the cliff you will fall off eventually.
Management is sometimes completely clueless. They rather hire twice as many people to keep some poorly developed app running, than to invest in a new, better developed app, that requires less maintenance and provides a better user experience. Zero risk tolerance and zero foresight.
It still generates money, you keep it running. Any means are fine.
Ironically the management that does have a clue often is hamstrung somewhere up the chain.
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
Mostly the latter. We don’t do any optimizations on our product whatsoever. Most important thing is to say yes to all the customers and add every single feature they want. Every sprint is spent adding and adding and adding to the code as much as we can and as quickly as we can. Not a single second is allotted to any discussion about performance or efficiency. Maybe when something breaks, but otherwise we keep piling on more crap at full speed non-stop. I have repeatedly been told “the fast way is the right way” followed by laughter. I was told to “merge this now” on multiple occasions even when I knew that the code was shit, and told the team as much. I am expected to write code now and think about it later.
As you can expect, the codebase is a bloated nightmare. Slow as shit, bugs galore, ugly inconsistent UI, ENORMOUS memory use, waaaaaay too frequent DB access with a shit ton of duplicate requests that are each rather inefficient themselves. It is a rather complex piece of lab management software, but not so complex that it should be struggling to run on dedicated servers with 8 gigs of RAM. Yet it does.
Generally maybe but for apps specifically, it’s the default choice of IDE, Android Studio, bundling tons of libraries for added functionality bound to Play Services.
Which would probably be illegal in EU now, if any judge had the tech see-through for it.
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.
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.
But if your tool chain is worth anything the size of each binary shouldn’t be bigger. To oversimplify things a bit: it’s just #ifdefs and a proper tool chain.
In the web development world on the other hand everything was always awful. Every nodejs package has half the world as dependencies…
#include “the_entire_fucking_internet.h”
Fucking Chrome/Electron is why.
I honestly wouldn’t mind that if they could all use the exact same runtime so the apps could be a few MB each, but nooooo.
400mb iphone banking app entered the chat
See: Webview2
Unfortunately, it is extremely painful to work with😔 Enjoy rolling your own script versioning and update systems instead of using squirrel et al
Edit: I think Tauri works by targeting this and webkitgtk via their wrapper library, unfortunately I can’t get my coworkers to write rust
Is there any alternatives to electron ? And why people’s doesn’t move on to alternatives if electron is huge & heavy resources ?
The alternative is “just serve it as a regular website”. It doesn’t need to be an app to do its job. Name a functionality which only exists in electron but not in the standard browser API.
Because the app stores keep adding new requirements that you have to add code to deal with and it gets worse every year and seemingly every day.
Isn’t it strange that a shop is demanding code?
It’s just that we have to make space for our 5,358 partners and the telemetry data they need.
Simple reason - dependencies.
Modern devs dump any dependency and sub-dependency under the sun into their project and don’t bother about optimizing it. That’s how you end up with absurdly large applications. Especially electron is a problem in this regard.
You can still write optimized and small software. However, for most businesses, it’s just not worth their time. Rather using an additional couple hundred megabytes of dependencies on the client system.
In terms of programming, absolutely some bloat there.
But I would wager a majority (or plurality) would actually be high(er) res media assets, embedded animations and video etc.
The only sector where that is applicable is games.
Tell that to my banking apps!
It’s the ads.
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.
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.
Yeah, though the joke is funny, this is the real answer.
Storage is cheap compared to creating custom libraries.
Also the storage is the cost for the user, and google in the case of play store. So the developers have no incentive to reduce the size.
Storage is cheap on a PC, it’s not cheap on mobile where it’s fixed and used as a model differentiator. They overcharge you so much. Oh, and they removed SD card slots from nearly all phones.
Nah it’s fine. Clean up used apps every once in a while. Base phones have more than enough space.
Yep. Apps are 20x bigger with no new features…that you are using.
Let’s not forget that the graphics for applications has scaled with display resolution, and people generally demand a smooth modern look for their apps.
Paypal has 500 mb and just shows a number and you can press a button to send a number to their server.
It’s insane
Has to send a number to Apple’s server too! actually not even sure if that’s client side.