this post was submitted on 12 Dec 2023
940 points (98.8% liked)
Programmer Humor
32718 readers
378 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I fucking hate Electron
If given a choice between an electron app and nothing, I choose the electron app.
same. still dont like them tho
I choose nothing.
Or a website
I'll talk nothing over a terribly implemented Electron app that devours system resources and brings every other Electron app down when it inevitably OOMs.
You hate electron or you hate developers who make inefficient electron apps? Some examples? (Serious question, because I make electron apps)
There's no such thing as a efficient electron app. First electron apps have 80MB of overhead since electron needs to bundle a whole ass browser. Also in runtime this requires 120MB of ram.
If you really want to use webviews to make an app use Tauri.
The literal most popular IDE amongst software developers is VS Code that's built on Electron.
I know. I also use VSCode. However I just hate how much ram it uses. I had a Laptop with 4Gb of ram and I could not open VsCode on that thing when I had literally anything else open because the system would freeze.
Just because VsCode uses Electron doesn't mean that Electron is not bad
Tbf, it's typically language servers and extensions causing cpu and memory footprints. If you were to open a dumb txt file, I doubt you'd encounter issues. The app itself is pretty light. I say this as a neovim user who has managed to make its memory footprint balloon ^_^
Can confirm. No matter how lightweight your IDE claims to be, if rust-analyzer uses 1GB RAM per project you have open and takes 30 seconds to start up, then that's that.
Source: learned Neovim having been promised it would be a lightweight alternative to a more mainstream IDE that would also speed up programming with keyboard shortcuts. By the time I added enough plugins to make it usable, only one of those two things was even debatably true.
Idk my vscode hardly ever uses more than 1-2 gigs.
My NeoVim (which can leverage VSCodes plugins) uses about 60MB for an entire project.
And doesn't have the stink of Microsoft and its associated user tracking.
What language are you using? For me the rust-analyzer background process takes 1GB on average by itself
Yes. Thats a fuckton for a code editor. I also have an operating system that needs ram too. And if I open a browser it's over
I think parsing code and all the dependencies will require way more than 120MB of RAM so for VS Code the overhead doesn't matter that much. For smaller apps 120MB of ram is insane.
lite-xl with LSP gives you most of the features of vscode (they’re both lsp) at a tiny percentage of the system resources
In my experience LSP actually consumes quite a bit of resources. I'm using nvim with LSP and it's definitely not tiny percentage of what other IDEs are using. The editor is light, LSP is not.
I love vs code but that does not mean electron doesn't suck
This comment feels like it just stepped out of a time machine. I can't remember the last time I fretted over 200MB of overhead/memory usage.
I'm in no way judging you, merely commenting on how different our use cases and expectations are.
This is a problem. Computers got faster over time and one would assume apps would also open faster. But no, developers that don't care about their application's performance (or companies, most of the time it's not the developer's fault) cause us to wait longer. Microsoft recently tweeted that they managed to get Microsoft Teams startup time down to 9 seconds from 18. I mean what the fuck.
How much Rust do I need to know to use Tauri?
Last I checked, almost none. They provide a JS API for common functions, so as long as you're keeping things relatively simple you might not have to touch much Rust at all.
Huh, that’s neat. From their docs it does seem like aside from some scaffolding, I shouldn’t need to write much Rust.
Mainly electron itself. For example the discord app (which uses electron) is less memory efficient (and much more restrictive etc.) than just a separate Firefox instance. It also had many problems with being up to date, but that's due to the discord devs deciding they want an own, custom electron, based on an outdated version. The main problem with electron for me stems from the chromium base, as basically any large app based on chromium (discord, spotify and steam) has massive flickering and performance problems on Wayland+Nvidia. A special combination, but still a factor for a 'cross platform' framework.
On the other hand, stuff like Signal never had any problems on my machine.
So, just use the stock electron, optimally the system one [electron binary], and see if you can enable wayland compatibility natively (otherwise we need to use environment variables etc., which works moderately at best).
What? The system what?
The “system electron” 🥹
I meant the system electron, as there are standalone electron packages
System electron?
Do you mean installing electron from your distro's package manager?
Developers who make inefficient apps. Most apps are sadly utter garbage
Capitalism forces developers hands into taking the cost-cuttingest approach to everything over doing it right.
Often times there's just no reason to package a web app into an app container.
PWA needs more support.
At least Google does this one. Mozilla & Apple like to lag on the PWA front. Sucks that Mozilla dropped SSB before it ever even launched. Apple only just this year announced supporting the Notification API which ended up stonewalling a past project since it was a required feature for our app.
Yes