Because I totally need native performance on an app that primarily displays text, text entry, buttons, other form controls, and maybe a random image or two.
Exactly. The truth is that over that last 15+ years _most_ of the apps that people use _most_ of the time are a perfect and natural fit for the web UI/UX: text, media, hyperlinks, standard form/window controls, with relatively modest standards of performance and responsiveness, etc.
Assuming developers avoid resource leaks (and to be fair some notable Electron-based apps tend to be both leaky and long-running) the main drawback of Electron seems to be the non-native look-and-feel. But that _could_ be worked around (for the most part) with some effort, and I suspect most users don't actually care that much. The web browser is still probably the most-used desktop app. The web look-and-feel is familiar and intuitive to users, even if it stands out a little from the UI of native apps.
Poor resource management aside, something like Electron is probably good _enough_ for most applications.
I have never, in my life, used an electron program that isn't irritatingly slow on my main computer. Yes, it's not something you'd probably call a fast computer (4th gen i3, 4GB ram), but this same computer doesn't drop a frame in equivalent native programs. Most of the time the CPU is almost idle.
I have nothing intrinsic against electron, and I'll take everything back if I see these "natural fits" actually fit.
It sounds like your 8 year old computer can't keep with today's technology. If it's possible, might I suggest upgrading your computer? A more modern system would let you run Electron apps without being irritatingly slow. It seems silly that I had to upgrade my laptop in order to run a text editor, but it seems that's just the world we live in.
I know this is not what you're saying, but when I read your post I start hearing an internal voice going something like:
Contribute more to e-waste! Pollute more! Consume! Consume!
A bog-standard 8-year old computer would be considered a supercomputer by the standards of the '80s, so at some point we ought to put some effort into making computers feel like the insanely powerful beasts they are. And Electron won't help with that.
Most people in this world would rather spend the required 400usd needed to get a >=8GB computer on fixing their vehicule/home and pay their monthly bills.
This +environment damage limitations.
Apart from the software and system engineers I don't know a single person in my social circle that own a computer with more than 4GB of memory. And I am not living in a third world country.
On one side, I agree that expecting an 8yo machine to keep up with modern workflows is silly, and that at some point even bill gates or whoever you attribute the famous 512kb RAM quote to had to admit they were wrong
Forgot to type the rest and can't edit for some reason.
On the other hand, vim or Emacs with all features I personally currently use in vscode come in at a fraction of the memory usage, and it is a bit dumb to have to use that much ram for slack or discord considering how light IRC clients used to be.
Yeah it's dumb but what're you gonna do? Technology evolves and the way this industry works is you gotta keep up. Can't keep computing like we're still on mainframes writing Cobol.
According to the industry, my laptop is slow. I, however, think that my laptop is actually very fast. It's just that everyone gets new stuff every year and the threshold for "usable computer" goes up accordingly.
VS Code is unusable on my laptop. I tried it, it's way too slow to be usable. I've used vim with a few plugins that got it to the same feature set as VS Code and it's actually usable. At some point I tried Lite XL, and it was incredibly fast with the same features. More recently, I tried helix and I can say that I've never used such a fast editor with auto complete and all that.
Most electron applications waste me time and energy (both human and electricity), and if software keeps going this way it'll start wasting me money. I'm not thrilled, but like you said, what are you gonna do?
> I have nothing intrinsic against electron, and I'll take everything back if I see these "natural fits" actually fit.
As a baseline, Electron performance _should_ be no worse than a regular SPA-style web UI running in the browser. Unless you find _everything_ on the web "irritatingly slow" it's surely _possible_ to create an Electron app with acceptable performance.
From my perspective anyway, I've both used and contributed to multiple Electron-based apps with performance that was not only "adequate" but not noticeably different from a typical native app. Basic Electron apps (done correctly) will look and feel more or less like a web app but perform more or less like a web app too.
I'm not sure offhand which of those is a good example of UI/UX and performance, but if you poke around with some of the medium-scope stuff (not too basic, not too ambitious) I'll bet you can find some examples.
UPDATE: I spot checked a few of those Electron apps for the fun of it. Here are a few examples you may find compelling:
* Deer - https://github.com/abahmed/Deer/releases/tag/v1.0.0 - A simple styled-text note-taking app that was last updated ~4 years ago. I don't _love_ all the UX choices personally but the performance seemed reasonable in my short test, especially considering the version of Electron they are using is 16 major releases out of date. There are probably more robust note-taking examples in that list (e.g. Inkdrop, Notable, Notion), this just happens to be the one I grabbed.
* Pencil - https://pencil.evolus.vn/ - A much more complex app for drawing fairly sophisticated Visio-like diagrams and UI mock-ups. Performance wise it seems about as responsive as a typical native app on my nearly 3 year old MacBook. But it may have large-ish baseline memory footprint so YMMV.
* I notice that some well known apps (or at least brands) are listed, like Trello, Asana, Notion, GitHub Desktop, Basecamp, WordPress, Twitch, Skype, Signal, Quickbooks, Light Table, Figma, WhatsApp, etc. For several of those I for one was not aware that they were Electron-based, and I'm guessing at least some (but probably not all) of those work pretty well. I think I've used both GitHub Desktop and Notion without anything to complain about but I'm not surprised that they are Electron apps. I've definitely used that Skype client and never noticed that it was an Electron app. I've never used it, but I'd bet Trello works well too.
IMO I think this demonstrates my original point in this thread: When an Electron app is well-engineered you don't even notice that it's Electron. It's survivor bias. People think Electron apps are bad because it's the bad apps that are noticeably Electron-based.
You're right. I tried Deer and it works perfectly, it's smooth and only drops a frame or two on a cold start. It's a well-written program. If it weren't for the UI, I wouldn't even have guessed it's electron. I tried using Pencil too but it didn't work for me because of dynamic link problems (not Pencil's fault - just Linux being very bad at packaging things and me running a slightly nonstandard system).
That said, the ratio of fast electron apps over slow electron apps is much worse than the one of fast native apps over slow native apps. If it's not the tech then it's the people around it. Either way, if I hear "hot new program" and it's electron, I don't think I'm in the wrong to assume it will also be rather slow.
At the end of the day, all I really care about is for the programs I use to work well and reliably. I don't really care how you make them, and as I said I don't have anything intrinsic against electron.