this post was submitted on 21 Mar 2025
1500 points (98.4% liked)
Programmer Humor
21850 readers
1056 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Fucking Chrome/Electron is why.
I honestly wouldn't mind that if they could all use the exact same runtime so the apps could be a few MB each, but nooooo.
See: Webview2
Unfortunately, it is extremely painful to work withπ Enjoy rolling your own script versioning and update systems instead of using squirrel et al
Edit: I think Tauri works by targeting this and webkitgtk via their wrapper library, unfortunately I can't get my coworkers to write rust
Isn't that just the same pig, just wearing different makeup? I'm not a fan of msedgewebview2.exe allocating 500+ MB RAM just because Teams is open, but maybe that's Teams fault...
Not quite. instead of a bundled pinned version of electron, it is an arbitrary version of edge's WebKit fork shared across all programs using it. That means you don't need to keep multiple copies of the webkit libraries loaded into memory.
That's not to say that building things on web technology is an efficient use of resources. Even if multiple programs are sharing the webview2 library, they're still dealing with the fundamental performance and memory problems caused by building an app in JavaScript.
As for why teams is so memory hungry? I would blame Teams.
Discord manages to make a half decent, highly responsive webview app, and that's with the overhead of having its own separate instance of electron.
EDIT: the original poster was also talking about application binary size, not runtime memory consumption. Application binary size should actually be significantly helped by linking webview to instead of bundling electron.