this post was submitted on 10 Oct 2023
825 points (96.9% liked)
Programmer Humor
32601 readers
309 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
Problem is, for any somewhat big project (like discord) updating Electron without something breaking is a nightmarishly complex venture as Electron doesn't seem to care about backwards compatibility.
The error is in picking Electron in the first place. One particular case that I've had with several Electron apps are zombie processes. You close the window, but you check the task manager and see 4-5 processes hanging in there, eating resources for no reason.
I agree that it’s silly to package your app as a website with a browser but what other options do you have? GTK is difficult to get working on Windows, wxwidgets requires installing libraries on every system and Qt is either paid or LGPL. The only real crossplatform options seem to be Flutter and some .NET frameworks.
FreePascal + Lazarus have been desktop crossplatform for many years. "But it's Pascal! Nobody uses Pascal! And the defaults are fugly!", fair enough, but it offers compatible crossplatform UI with a single codebase.
Java also lets you write UI stuff and keep a single codebase for multiple platforms, thanks to the JVM. It always looks "weird" or "ugly" next to whatever OS's default UI is and also needs a compatible JRM installed, but it works.
Nowadays, web/javascript projects can opt for Tauri or Neutralinojs instead of Electron. They use the OS's native HTML renderer, no browser required.