3 ms·
> I just ... don't care about your app enough to justify running more chrome instances Is the author going to uninstall Slack, Atom, Chrome, and Spotify, then?
by Andrex 10y ago
> I just ... don't care about your app enough to justify running more chrome instances
Is the author going to uninstall Slack, Atom, Chrome, and Spotify, then?
Electron has won out because key apps have opted to use it and decided that the trade-offs of user CPU and battery are worth some amount less than their productivity as developers. Yes, there are alternatives to developing native desktop apps in JavaScript (I'm not sure I've seen React Native used this way, but it probably exists somewhere out there.) People opt for Electron because it's holistic, battle-tested and easy to use.
I'm not excusing Electron's (many) flaws. There should be a concerted effort by the team to "disable" parts of Chrome that don't make sense for native apps, or at the very least let it be configurable. He's right, there's no reason Slack should have access to the GamePad API (or WebVR, etc.)
My overall point is that like everything, productivity of the end-user is always going to have some kind of trade-off with the productivity of the developer (or more specifically, the business considerations of the company.) Always. We don't write assembly anymore even though the apps would be a gajillion times faster than writing Electron-wrapped web apps.
Now, complaining that Electron/Slack/etc. are CPU/battery-hungry is completely valid and a good discussion to have, but you only get me to jump into the HN comments once you start delivering global developer edicts with no regard for the other considerations those projects have made.
> The other sad fact is that even most developers have no idea that this is even happening on their computers. They run slack but have no idea how hungry it is. As a developer its your responsibility to know this stuff.
I'm not sure I completely agree here, "responsibility" is a bit heavy of a word.
> Users: Please complain more about slow programs. Its 2016. We carry supercomputers in our pockets. Its simply not ok for apps to be sluggish.
Wait, this is the first instance (edit- second, but mentioned in passing in the previous paragraph) the author mentions "sluggishness" as a metric. IMO sticking with measurable stats like CPU and battery life are better because you have no idea if someone other than yourself experiences or even perceives this sluggishness. What about non-developers at BigCo that only run Chrome, Slack, Spotify, and Word? Would they feel sluggishness? I would guess not, since I rarely experience it as a developer on a Macbook using Chrome, Slack and Atom. (Things only get dicey when I start doing Vagrant stuff.)
> Also all you web devs: Go learn C or Rust or something. Your program runs on a computer. Until you know how that computer works, you're doomed.
Doomed to have a successful career? I prefer being "doomed" then. (For the record, I do know
> And until then get off my lawn shakes fist.
Aaaaand there we go. Maybe next time don't bury the lede? :P
> Oh, and read this talk on the website obesity crisis. Its very funny. And very sad. And very true.
This is an entirely separate concern (and one I agree with.) Heavy web pages are heavy because they are multi-megabytes to download, not because their "installed" wrapper (Chrome) is hundreds of megabytes.
- yladiz 10y agoI don't think that apps necessarily chose it because of the reasons you mentioned. It is most definitely due to productivity, but there are ways to mitigate the CPU and battery usage -- I often have Spotify open on my Mac and it really doesn't use much CPU (often less than either Safari or Docker), and it doesn't suffer from poor performance most of the time. I would say that while Electron apps, as a whole, are generally worse than a native app, there are ways around the issues that plague some of them that depend on the developer(s). For example, VSCode and Spotify having pretty good performance and not hogging CPU, while Slack and Atom the opposite.
- zeveb 10y ago> Is the author going to uninstall Slack, Atom, Chrome, and Spotify, then? I read Slack in emacs. I write code in emacs. I browse the web in emacs & Firefox. I play music via my phone's native Google Play Music client, although if I wanted to I could use emms, an emacs music-playing mode. I have no desire to run some GUI-only, CPU-hungry, memory-ravenous, of-the-moment JavaScript nightmare of a program. My productivity as a developer is hindered by those things. I have no desire to write JavaScript: I'd rather write Lisp, or Go, or Python. Yes, it's possible — and preferable! — to uninstall Slack, Atom, Chrome and Spotify. Try it today.
- arca_vorago 10y agoI find it interesting how many devs I have met in the last few years who seem so tied to GUI's... as a sysadmin who lives mostly on the cli, I never understood it. Side note; many of said devs also used OSX instead of linux, maybe some correlation there. Emacs is where it's at. Really, it's my main operating system. Email, org-mode, erc for IRC, RSS reader, editor, twitTER, eww (for some things like documentation), dired for folder management etc. Currently working on learning ledger. "Using a free version of vi is not a sin but a penance."
- Andrex 10y agoThis comment is semi-ironic to me because traditionally Emacs had the reputation of being bloated and slow compared to its competitors. Maybe in a few years hardware will similarly catch up to Electron? Food for thought. :)