Comments by "Winnetou17" (@Winnetou17) on "Is Electron really that bad?" video.
-
This was an interesting watch. Informative, but also flawed, in multiple points.
Before going point by point, I'd like to say that I am a Linux user and, while I don't go out of my way to bash Electron apps, I'm not a fan of it either, and I prefer to not use them whenever I can. At this moment I think I only use one: Postman, which annoys the hell out of me when it hangs for like 30 seconds, and I will change it soon, once I have more time to check the alternatives and settle on one. Still, Postman I think is trash because it is made like that, not because of Electron. And it annoys me for other reasons too. But regardless, it is very much looking and feeling like a much heavier application for what it should be. I do have an 8 yeah old laptop, which was powerful in 2017, not so much now, but it's not trash either.
One thing I must point out - I am using apparently a lot of software that has an Electron app. But I don't use the app, I use what is sane to me - a simple browser tab, in my browser. I was using this before Electron was a thing, so I kind of happened to be like that, before deciding to not use Electron if I can.
Why not use Electron ? Some time ago MS Teams had a bug which let remote code execution within it, because of bad sandboxing. That's when I knew I'll never install it, as running it in the browser I can be much more sure that it doesn't have access to my system. Especially after finding out that Discord for YEARS used an extremely outdated version of Electron. Imagine how secure that was! And the performance penalty is there, I don't want it. By only having those directly in the browser (seriously, why are people not using this ?) I have almost 0 disk space used, much less security issues / stress, much less RAM used. So I feel quite immune to the "either Electron either nothing" threat, though I do understand it. For me it didn't enable me in any way to use Linux. As IDE I use JetBrains.
On the performance side... that example with the SwiftUI and the conclusion that Electron might be faster than native ... I am soooo NOT buying that. I call 100% skill issue or just something related to SwiftUI at that point in time. Even the first update it says it swapped one component from SwiftUI Text to SwiftUI TextEditor. And apparently it does the rendering using the CPU ? Disable hardware GPU accelerated rendering on a browser and watch the same pain there too. You can't really say that native in general might be slower just from one example like that. Chrome, the only way to efficiently render text (without being John Carmack), really ? Talk about blowing things way out of proportion.
In the end, I don't like Electron for the same reason I don't like Flatpaks and snaps. Having everything bundled. In case of flatpaks and snaps, I'd rather have a statically-linked executable. In case of Electron I'd rather simply use my browser. Having one embedded will always be a problem to me. Maybe with servo it will get to be less of an issue. Still, I'm not thrilled on having JS either, though for simple applications it is fine. I would still like something that can be more efficient. Not just in CPU usage, but also in RAM usage. A waste is still a waste.
Even with the above, I don't hate Electron for existing. I do kind of hate it becoming the norm. It's like AGAIN we forget all the years of lessons we learned before, most of everything we've learnt and built for something that's short-term easier.
Maybe PWAs will become a thing in this lifetime, and we can stop shipping an almost full browser with every app.
1