Inspired by: https://twitter.com/Rimmy_Downunder/status/1686188323164028928
Transcription:
A stick figure pondering: “Hm. If only there was a platform for my desktop application”
The stick figure stepping over many native GUIs to pick up Google Chromium.
The stick figure: “Ah! Here we go!”
I LOVE ELECTRUM!! I WANT EVERY APPLICATION TO BE A CHROMIUM INSTANCE AND EAT HUNDREDS IF NOT THOUSANDS OF MB OF RAM!!!
Discord moment
“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.”
“OH! I KNOW! ELECTRON!!”
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.
You may be interested in the Discord Client Encylcopedia
Oooooo
I very much am, thank you for this!
I HATE ELECTRON AND CHROMIUM EMBEDDED FRAMEWORK
You are shitting on Electron but put Godot next to actual gui frameworks. Bundling an entire game engine is not much better then bundling a browser engine imo
I’m not a developer lol so sorry if it’s too absurd a leap but that entire game engine consumes maybe 100-200MB of ram and 30MB of storage overhead compared to the multiple gigabytes of nwjs/electron/etc. Yes it’s absurd and inefficient but that’s the point of a meme. Even shipping an entire game engine is less ridiculous.
- godot is a pretty small game engine, so bundling it wouldn’t be that bad (it’s smaller than chromium); but
- godot kinda sucks as a UI framework
godot is goated wdym
I agree that godot is goated—I use it myself. But for plain UI stuff, I find it annoying to work with.
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.
Can’t you? There is a whole FTB section in prism when installing mod packs that seems to work perfectly fine for me.
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.
I mean, worst case scenario, you could always try and use the launcher just to download the mods/install and then cut and paste the Minecraft install over to your launcher of choice. That said, I don’t know for certain if that works largely because I’ve never really played any FTB modpacks, and I’ve always been EXTREMELY picky with Minecraft launchers for a very similar reason (Curseforge’s official app has ads and I don’t trust that “Overwolf” thing they also make you install to not be spyware data harvesting).
Interesting. Turns out I’m still using version 6.3, which is the version just before they removed the ability to download FTB packs. Thanks for the heads-up, I’m certainly not updating now.
One thing I can confirm is that if you can find a way to install release 6.3, FTB downloads still work perfectly fine.
A lot of people have made a website before, so it makes sense that’s the first choice for them.
That being said, if I was to make a simple desktop app tomorrow, which GUI would you recommend me?
Its hard to answer without knowing what your app needs to do.
For a generic crossplatform program, I would say QT or GTK when programming in C/++.
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)
Which programming language will you use?
this is a hypothetical scenario but let’s just say rust
nitter still works after the api chnages?
What’s your opinion on Tauri?
not mature enough. also no mobile support.