this post was submitted on 12 Dec 2023
939 points (98.8% liked)

Programmer Humor

32426 readers
953 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 44 points 11 months ago (5 children)

You hate electron or you hate developers who make inefficient electron apps? Some examples? (Serious question, because I make electron apps)

[–] [email protected] 104 points 11 months ago (3 children)

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.

[–] [email protected] 19 points 11 months ago (3 children)

The literal most popular IDE amongst software developers is VS Code that's built on Electron.

[–] [email protected] 50 points 11 months ago (2 children)

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

[–] [email protected] 16 points 11 months ago (1 children)

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 ^_^

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago)

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.

[–] [email protected] 13 points 11 months ago (1 children)

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.

[–] [email protected] 1 points 11 months ago (1 children)

lite-xl with LSP gives you most of the features of vscode (they’re both lsp) at a tiny percentage of the system resources

[–] [email protected] 2 points 11 months ago

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.

[–] [email protected] 4 points 11 months ago

I love vs code but that does not mean electron doesn't suck

[–] [email protected] 3 points 11 months ago (1 children)

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.

[–] [email protected] 9 points 11 months ago

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.

[–] [email protected] 1 points 11 months ago (1 children)

How much Rust do I need to know to use Tauri?

[–] [email protected] 3 points 11 months ago (1 children)

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.

[–] [email protected] 2 points 11 months ago

Huh, that’s neat. From their docs it does seem like aside from some scaffolding, I shouldn’t need to write much Rust.

[–] [email protected] 28 points 11 months ago* (last edited 11 months ago) (1 children)

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).

[–] [email protected] 4 points 11 months ago (2 children)

So, just use the stock electron, optimally the system one

What? The system what?

[–] [email protected] 3 points 11 months ago

The “system electron” 🥹

[–] [email protected] 3 points 11 months ago (2 children)

I meant the system electron, as there are standalone electron packages

[–] [email protected] 3 points 11 months ago

System electron?

[–] [email protected] 2 points 11 months ago

Do you mean installing electron from your distro's package manager?

[–] [email protected] 8 points 11 months ago (1 children)

Developers who make inefficient apps. Most apps are sadly utter garbage

[–] [email protected] 2 points 11 months ago

Capitalism forces developers hands into taking the cost-cuttingest approach to everything over doing it right.

[–] [email protected] 6 points 11 months ago (1 children)

Often times there's just no reason to package a web app into an app container.

[–] [email protected] 5 points 11 months ago (1 children)
[–] [email protected] 1 points 11 months ago

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.