People that are upset about electron should consider it’s not:
Electron App vs Wonderful Fully Supported Native Linux Application
The reality is that your choice is largely:
Electron App vs No App (maybe running their windows app in wine if you can get that to work)
It’s not like companies are going to go build a native linux app but electron got in their way. It was always electron or no support.
So if you like the app, remember that the ram and the cpu you paid for doesn’t provide value unless it’s doing something. There’s no trophy you get at the end of your life for “most cumulative ram left idle”
I think proprietary Electron apps better run in browser anyway because of trackers that you can disable via extensions.
So if you like the app, remember that the ram and the cpu you paid for doesn’t provide value unless it’s doing something. There’s no trophy you get at the end of your life for “most cumulative ram left idle”
This is a damn homicide lmao
Running electron apps becomes a genuine ram issue when running heavy ram workloads like running heavily modded games
And very true. 32gb is 99 dollars Australia pesos, 16 is about 70 percent that. What a waste to let it sit around.
There’s no trophy you get at the end of your life for “most cumulative ram left idle”
Some people like to use more than 1 app you know.
Also, RAM is never ever idle. It is used as filesystem cache when not used by programs thus speeding up read accesses significantly.
Alright, let’s nitpick! No, it is never ever idle, every few cycles is a refresh cycle, which is work.
A lot of the time, the alternative would be a website running in the browser.
I’d prefer that. One firefox instance can easily run 10 big fat websites while using like 6GB of RAM. 10 electron apps on the other hand? 32GB RAM won’t be enough.
Electron IS a browser. It’s a Chromium browser to be exact with all the Chromium UI elements except the very bare minimum removed.
So the only difference that remains is running a website in a tab or in a fancy window.
What about laptop battery life? More CPU usage = less battery life. WHY DOES NO ONE GIVE A FUCK ABOUT BATTERY LIFE???
The single most reason I switched from Spotify to Apple Music is that I was sick of seeing the Spotify macOS app at the top of the “High Battery Usage” page on Activity Monitor. I also actually noticed less battery life. Fuck Electron. I avoid apps made in it like the plague.
Doesn’t Qt provide native, cross platform UI? I agree with your post though.
lmao, yea. Besides, it’s not like electron is that bad either. We aren’t in 1990, why would you care if electron uses a gb of ram or ten processes or this or that… they think that native means good, but more often than not native means a shitty ugly unusable application that will work (not really) just on windows
If a fancy text editor starts eating hundreds of megabytes RAM without having loaded a file, i think we did something wrong.
Though Visual Studio can do that too without Electron.
Have you ever had, in good conscience, a problem caused by an electron app using too much resources?
Because we are, again, in 2023: the standard is 16GB of RAM, with CPUs much more powerful and with a lot of more cores and thread per cores than the past. Complaining about a PC resources being used when these doesn’t actually create a problem is like complaining about GUI being bloat; or JS/CSS being bloat.
This of course doesn’t mean electron is perfect, cause it clearly isn’t, but it’s a good enough solution that can be iterated upon (see Tauri) and improved (the DX on electron is shit). Nor that every app should be in electron.
I don’t hate that electron is used for everything, I just hate electron itself, mostly. Starting with that it’s memory consumption, measured at the example of Discord (though that may be not 100% accurate as they use a custom version), is higher than just using a separate FF instance, with a separate profile. Works for Discord and Spotify (though spotifyd + spotify-tui is better anyway). Signal etc. is still only available as an electron app.
The biggest problem I have with electron is more of a problem with Nvidia though - combining Nvidia + Wayland is bad enough, especially for windows refreshing below 60 Hz, as this causes them to flicker as in letting stripes of the wallpaper through. Electron apps are even worse, not only do they start to flicker as whole after not being in focus for 10 minutes, which is very annoying with them on other screens, but they also start to ‘lag’, as elements don’t update fluently. That affects EVERY chromium based program - including steam.
We were so close to a much better version of electron. Mozilla just killed off the concept of a separate engine, like chromium is, due to issues with low demand but high cost and instead only has the main FF repo now. A separate FF engine would very likely mean a FF based electron alternative would be built by the community. Bug free, fully compatible with everything, not under Google’s control.
So if you like the app, remember that the ram and the cpu you paid for doesn’t provide value unless it’s doing something.
It could be doing so much more if you hadn’t gone with Electron you fuck
From the comments that have mentioned the efficient programming languages, my guess is there’s a bunch of devs in here that never got past the “c++ is hard!” stage.
The first time I saw an office app launch in my browser, I was both impressed that they got excel to work in a browser and appalled that they wanted excel to work in a browser at the same time. And I’ll admit that it does perform well considering it’s running in a fucking browser, but I’ll still launch the native app any time I actually want to work with a file that’s opened in the browser.
remember that the ram and the cpu you paid for doesn’t provide value unless it’s doing something.
Remember that house you paid for doesn’t provide value unless you fill it with elephant shit.
That’s consumerism. Another equally shitty statement: your liver doesn’t provide value unless it dies from all toxins in the world.
You know that “no app” and “not using the app” is the exact same user experience right? So you can just not use the app and stop complaining about it existing.
Idk who you think you’re speaking for, but I don’t think it’s as many people as you think lol.
Besides an electron app you don’t use and no app are literally the same thing, so why choose nothing?
This might be a hot take but I’ve noticed some complicated electron apps are faster than some simple native apps. The striking example to me is how Vs code runs better and has a lower startup time than the stock Windows 11 File manager.
A well written electron app is better than a poorly written native app sometimes.
I mean, sure, but:
-
The Windows File Manager is really just awful in that regard. You can get alternative file managers that start up in a fraction of that time, with more features.
-
Startup time isn’t really the worst of it. RAM usage is worse. And if a program uses lots of RAM, it will still appear quite performant. But it makes everything else on your system slower.
There’s also the added CPU overhead from using JavaScript for everything to contend with.
As long as the program is not bloated, JavaScript can be fast. Unfortunately that’s not the case with most programs.
file manager opens instantly.
genuinely curious, I have a shitton of networked drives and at least 7 volumes on this locally, file manager has always popped open ready to go at a click or hotkey.
I don’t know, man. I haven’t done a scientific study on it either.
It was one of the reasons why I switched from Windows to Linux. On the same HDD, with same data, Windows file manager took half a minute to open, when the various Linux file managers were all instant.
I did ‘refresh’ Windows beforehand, too, which Microsoft claims is like reinstalling. Couldn’t easily do a proper reinstall, because of OEM license horseshit.
These days, I only really see Windows when colleagues are using it. That’s all within my company’s network drive infrastructure. Maybe it is being slowed down by that.
That’s still proof enough for me, though, that Windows file manager is shittily coded. A proper architecture would have the UI in a separate thread from all the file operations and it should never be the case that a slow hard drive or network drive is causing the UI to appear later.
Are you using the Windows 10 file manager? That one is so much faster than the new Windows 11 one.
Can you recommend some third party windows file managers?
-
Stock file manager has an okay UI (tabs are super nice) but is kinda slow, especially on battery.
-
I tried explorer++ but its UI is clunky and it’s only slightly faster than the stock file manager.
Well, the file manager I use on Linux, Dolphin, has an experimental Windows version.
When I learned of that a few years ago, I gave it a shot on Windows and I prefered it to File Explorer, but it’s not like I compared it to other offerings or anything like that.
I do think that’s the best file manager on Linux and most features were working on Windows back then, so it’s not unlikely either, that it is by far the best offering for Windows. But it could also be a buggy mess. I wouldn’t know…
That’s not a compliment to Electron, that’s a heck of an indictment to Microsoft messing up the File Manager.
It’s legitimately hilarious to me when the creator of the OS ships web-based UI on their own operating system… Like teams on windows. Not only is it a terrible experience, slow, buggy and sluggish - it’s obviously not native - on Microsoft’s own OS! Where they’ve made all the UI APIs!
I mean sure once you start getting big enough, you’d probably be bundling all the features of chromium anyways, and any extra bloat is meaningless. Chromium and thus electron are extremely well optimized so if you are using the full feature set it will be fast.
But please stop using vscode as the benchmark electron app. It is not comparable. No other application in history has as large of a talent pool as vscode and It’s possible none ever will either.
You can use C++ for web technology instead of JavaScript? I’m taking a class in C++ right now so I’d be happy to swap janky JavaScript for pedantic but speedy C++ in new projects.
VSCode is a desktop app, hence using real languages is easy. For websites there is webassembly. Try this: https://www.rust-lang.org/what/wasm
It’s getting there!
What does Ctrl shift I do (I’m not at my computer and I don’t have any electron apps installed)
Does it really have to? Vscode is built on top of it, I don’t think it’s ever opened chromium dev tools for the app (maybe I’m wrong?)
Some apps can disable it, I think Discord does so people don’t get tricked into pasting random scripts into the console
Open the dev tools in electron app that where so badly coded that they are not blocked as they should in the first place. In short, bad app developer makes bad apps, and people complain about the framework instead of complaining about the lazy dev.
ITT: some people are mad the web became the application platform of choice, in part due to handy dandy cross platform app tools like Electron and accessible languages like JavaScript.
There is no perfect answer. Qt isn’t using the platform’s native capabilities to the fullest extent either. Qt requires a “wrapper” too–all those libraries your app depends on, to name a few (unless you got a commercial license and are compiling statically, you rich devil).
Let’s celebrate the onslaught of apps that work with Linux instead of trying to scare off developers any more than Linux already did. Make love not war. <3
In my experience, Electron and other “web wrapper” apps run just fine and I have enough CPU and RAM to run a dozen of them alongside my 50 browser tabs. Slack, Discord, VSCode, Teams, IRCCloud, it all works fine. Hardware is cheap compared to my time.
It always seemed over-complicated to me to use web technologies to create a desktop application and run it in what is essentially a browser. The tool-chain of modern web and electron apps also seems overly complicated to me (writing in a slightly different language then transpiling to an interpreted language).
I don’t find JS any more accessible than any other language with automatic memory management. JS is actually a bit of mess due to bolting on new features while keeping backward compatibility.
I don’t mind using electron apps. VS Code is pretty great.
I think Java Swing was the apex of desktop development :)
always seemed over-complicated
Technology-wise? Yes it is.
Development-wise? It actually makes dev process much simpler by making it grossly cross platform instead of having to care about little gotchas on each use case (which may or may not actually be popular. Not saying it’s optimal, but as a developer myself, I say it makes a lot of sense.
16 on the machine I use the most at work. (MacBook Air M1)
Actually, 128 gigglebytes on my home PC, though. I upgraded so I could play pretty Minecraft.
Just wait for Tauri for mobile so there will be no reason for somebody to use Electron.
A big reason for me to use Electron is that Typescript is really easy to use. Does Tauri support that?