“Hmm, we need to make a communications app. Communicating is important, it’ll keep millions of people in contact with eachother. We’ll have to make it as lightweight as possible.”
don't blame electron for how bad discord performs, just open it up in your browser and watch as the discord tab uses 1gb of ram after 5 minutes of usage. discord simply doesn't care about performance or resource usage
One of Discord's targets is web, and I don't think there is another good UI toolkit that could maintain that target with easy feature parity. Some UI toolkits like Godot (which is a game engine) are capable of targeting web using a canvas element, but that's probably not going to be as performant or as native feeling as a standard website. They could also use a separate code base, but then there would be large feature parity issues. They could also drop the web target, but that might make it harder for users who don't have permission to install software or use Chrome OS.
I feel like Discord is one of the examples where Electron makes sense. If only they allowed third party apps so desktop users who don't care about having every feature can have a better experience.
True and fair. Definitely agree with your third-party app thing (man, where have I seen the benefits of having third party apps before?)
I do remember trying out a (TOS breaking) third party app I found on GitHub, but it lacked a lot of features like voice calls and whatnot and crashed frequently. That’s to be expected, though.
Had to install the feed the beast app to play their stupid modpacks. It was ugly, had ads taking up a quarter of the screen at any time, and it used up a gig of RAM at idle.
On top of that, the launcher would run while the game was running, meaning you had a shitty electron app always running alongside the RAM hoarder that is minecraft.
Really just wish they'd let me install their packs on prism, a far superior qt-based launcher that uses my system's theme.
They removed it in a recent update because they were told to by the FTB team. There's a legacy FTB section for much older packs, but it doesn't have the pack I want to play.
Also depends on the language being used. Even if it's javascript, you could use something like Tauri or Neutralino, which can also make an executable bundle which uses the OS's native HTML renderer, no bundled chromium needed.
Some languages + recommended graphical frameworks:
FreePascal + Lazarus
Dart + Flutter
Go + Fyne
Lua + LOVE2D (game engine, but can work fine for most cases)
I'd much rather use a Tauri app than an Electron app. Tauri apps are smaller and lighter, and applications are always faster because the backends are in Rust.