7 ms·
As a user I am glad. As is custom for all Electron discussions, someone must point out its flaws. Why the dislike, you ask? A picture is worth a thousand 64-bit
by Razengan 7y ago
As a user I am glad. As is custom for all Electron discussions, someone must point out its flaws. Why the dislike, you ask? A picture is worth a thousand 64-bit words:
https://imgur.com/a/XnCOHUD https://imgur.com/a/XnCOHUD
And mind you, GitHub Desktop is taking that much just for showing a mostly empty window! while Fork and Tower are displaying a lot more UI, more controls, trees, custom drawing, more text, and have overall more features (best of all: spell checking for commit messages because all native text fields get it for free.) You can try it on your own machine and compare them.
Now yes Electron has made life very easy for some developers and some apps wouldn't even exist if not for Electron, but why, as a user, should I pick an Electron app over native alternatives?
- codedokode 7y agoThese numbers are too low. I assume that this task manager might show only private pages and not account shared pages with code (and the code size in Chrome is close to 100 Mb). Anyway, the number looks a bit unrealistic. Or maybe it doesn't count swap. I used Electron apps on Linux and typically memory usage doesn't get below 250-500 Mb. Here is an example for Skype: 220 Mb of swap + 388 Mb of PSS (Proportional set size).
- ajxs 7y agoEven that's low. Here's my result of running pmap on an open vscode process. "total 1046516K" Yikes.
- starbugs 7y agoI manage to get these numbers with Sublime Text on a big project. Sublime Text is native.
- codedokode 7y agoIt is partly written in Python, as well as plugins.
- starbugs 7y agoBut it's not written in Electron, which is my point.
- codedokode 7y agoI would rather use smem, that calculates PSS (Potential Set Size) that properly accounts for pages shared between processes and shows swap usage per process. 1 Gb seems realistic though.
- ajxs 7y agoWhile working on a project that uses a service built in Typescript I've been using vscode. I was wondering what was wrong with my laptop's battery, it had gone from lasting around 2-3 hours unplugged doing reasonably intensive to lasting around 40 minutes. As soon as I stopped using vscode the battery life went back to what I'd normally expect. It's honestly outrageous that applications built on Electron strangle your CPU to this extent. I'm not sure if vscode is particularly resource expensive compared to other Electron apps, but compared to other editors it's just ridiculous.
- jjcm 7y agoThis is the bigger thing for me. The CPU usage of many electron apps is through the roof. It's so convenient to use that I'll probably still make electron apps, but I'd love to see Apple and Microsoft partner with each to make both more performant.
- jamil7 7y agoI have been very happy developing a typescript project for work in nvim and coc.nvim.
- saagarjha 7y agoOf course, Apple does not usually reject Mac App Store applications for RAM usage (and they're not doing it here).
- baroffoos 7y agoThe memory usage issue is insane. My work laptop is regularly at 20GB memory usage partly because all of these electron apps take up 300mb to sit in the background and show me a notification every now and then. Its hugely refreshing to see my notes app (Zim Wiki) using 19mb of ram while being super fast and providing a huge amount of utility.
- ptx 7y agoAlso interesting to note that this relatively super-fast app is written in Python.
- krainboltgreene 7y agoI uh...Sorry are you mad that an electron application is using ~80mb more than other native applications? I cannot fathom the indignity required to care about that difference.
- catalogia 7y ago> "I cannot fathom the indignity required to care about that difference." Your failure to empathize seems like an odd thing to brag about. Even if you have plenty of memory available, you should be capable of empathizing with people who are short on it.
- Razengan 7y agoTaking more to do less. Can you fathom the ability to read the rest of that comment and all the other comments about it?
- jmeyer2k 7y agoWhat a ridiculous question... why would you not want the option to download Electron apps through the app store?
- aidenn0 7y agoNot owning an iPhone, I don't have a horse in the race, but if company X is going to make a client for their service, and for whatever reason you need to use their client, if they are not allowed to use Electron, then they will use a different toolkit. If you don't like Electron apps, then this is a win for you personally. Too many services can only be accessed with the official app, which means it's not like you can just download the "not made with electron" version.
- JohnFen 7y agoI just wish that Electron apps had a warning label applied so I won't accidentally download them.
- kristiandupont 7y ago>Why the dislike, you ask? Nobody is asking that, there's a crowd in here that restates the same three points about memory, performance and native UI about once a week. I dislike waste, I have written assembly code for tiny processors. And yet, I run several Electron apps on my 8gb 2013 Macbook Air and it runs fine, especially VSCode. I am picking that over my previous choice which was native (vim), because I think it's better.
- Razengan 7y ago> there's a crowd in here that restates the same three points about memory, performance and native UI about once a week. Where else would users complain about undesirable developer trends if not on a developers' community?
- kristiandupont 7y agoYou are right and I am sorry, that was unnecessary. For the record, I do think there are problems with Electron, just not the ones usually mentioned. A big (huge!) problem in my opinion is that two windows can't share JS context. It's the reason why VSCode is way behind in multi-monitor support for instance.
- RodoBobJon 7y agoThis drives me crazy with Slack. In 2019 I can't have two chats open at once? Madness.
- ajxs 7y agoNot every developer runs a Macbook. Like many others for my laptop I use Linux running on a cheap ThinkPad with a quarter of the specs of the one you mentioned. ( I could afford to buy an overpriced Macbook, but I like my rugged $100 ThinkPad. ) As I stated elsewhere in this thread, vscode absolutely chews up my battery power. That's a practical concern. If I run several Electron apps on my laptop I'd be lucky to get an entire commute's worth of battery life out of it.
- kevingadd 7y agoOn Windows, Slack.exe would sometimes eat up so much memory that I'd run out entirely. I upgraded to 64GB of RAM so I could keep it open for work.
- lacker 7y agoAs a user I think Electron is great. It means many more apps have a Mac version. Compare to games, where Electron typically isn’t feasible, and observe how many games don’t have a Mac version. A little extra memory usage is fine by me. I can understand how people disagree, and that’s fine, just don’t use Electron apps. No need to ban them from the platform.
- fooey 7y agoYes, this is the thing. The option isn't electron vs native, it's electron vs nothing.
- leadingthenet 7y agoOften, nothing is better than the Electron equivalent. Case in point, if I run Slack in Safari, it runs better than the electron version. Functionally, it’s identical, except the scrolling is now native and feels a bit better integrated in macOS. So what’s the point?
- wutbrodo 7y agoI work on AVs, so we have incredibly beefy workstations: I've never managed to make my workstation seize up, even when building and running the full AV stack. Somehow, all of my coworkers who use native Slack have developed the reflex of killing and restarting the application whenever their workstation hangs. It's beyond me why they continue to use it. (That isn't to say that the web version of Slack isn't horribly engineered too, but it poses far less of a problem)
- ldh 7y agoThe option is native vs. electron vs. a regular web app. There's rarely any reason you need your web app to live in a dedicated Chrome instance without a URL bar.
- Seirdy 7y agoThere is literally no reason to distribute an electron app when you could simply run it as a web server using `npm start` and navigate to `http://localhost:[port http://localhost:[port number]`. Electron is born out of a misplaced notion that some apps are "special" and deserve a certain extra percentage of the users' CPU cycles and battery life for a spot in a user's system tray. 10% of a user's battery life multiplied by all their electron apps is not worth it when alternatives (like starting a web server and launching the users' preferred browser) exist.
- pier25 7y ago> why, as a user, should I pick an Electron app over native alternatives? I'd pick the native version every time, but there is no native VSCode, Atom, Slack, or Whatsapp. I use Sublime because it's native and I don't use too many plugins but a lot of people prefer VSCode.
- diminoten 7y ago57 MB. The horror. How will you survive. Is there a software engineering equivalent to "ok boomer"? Seems appropriate here. I can't wait until people who think MBs of memory usage matter to retire/stop hanging out on the Internet...
- johnny22 7y agoWe used to joke about EMACS being Eight Megs And Constantly Swapping
- erik_seaberg 7y agoWe still do, but now it has more of a Dr. Evil vibe. “Eight million bytes.”
- johnny22 7y agolol. The communities were a bit more close knit with editors back then, so you couldn't avoid hearing such things. Nowadays there are so many choices that I hadn't heard the joke in a long time. I'm glad that it still exists