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.
deleted by creator
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
Download more ram, problem solved
And very true. 32gb is 99 dollars Australia pesos, 16 is about 70 percent that. What a waste to let it sit around.
The issue is not RAM, it is how slow it performs.
I’ve never had a problem with the speed of an electron app be it steam or Spotify.
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.
Honestly even with more than 1 application open it shouldn’t be an issue. Maybe with a really old computer, but anything modern really should handle an electron app just fine
Just to nitpick, RAM is usually not idle.
Alright, let’s nitpick! No, it is never ever idle, every few cycles is a refresh cycle, which is work.
It’s great that you mention this, but this is a different layer of abstraction than what we were previously talking about.
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.
deleted by creator
I use both daily, never noticed a problem. MacBook Pro M1 with 8GB ram. Eight!
I run slack every day. It’s a bit slow sometimes but it doesn’t cause any real issues. Still better than teams. I’d rather have it as an electron app than as a web app.
VS Code is electron but it’s not meant to be a lightweight text editor like notepad. Must people are using it as an IDE at this point. Can you explain what’s “bloated” about it?
These apps probably wouldn’t exist at all if it wasn’t for electron so I’m grateful for it. The purists can pound sand like always.
on the vscode comment, that’s just plain wrong. here’s vscode opening up on a base model m1 air (it’s a test project but my works codebase also opens just as fast)
on a 8gb ram m1 air, with 3/4 chrome windows, slack, postman and two node processes running. as for slack, i agree its not as snappy as say, native macos apps but it doesn’t really bother me a lot.
deleted by creator
It didn’t cause problems since i have a lot of RAM but i still hold the opinion that just because we have a lot of RAM, we don’t need to waste it. We could keep being efficient about it and get even more out of the same amount of RAM, you know. That said, if Tauri lowers the RAM usage of the same applications i’m looking forward to it.
Your kernel allocates all the ram anyway lol, it literally changes nothing to you
Hmm yeah, but what if applications had to ask for less memory from the kernel?
that would change nothing to you. Unless they are seriously consuming a lot of memory and filling up processes while not needed, then it’s fine. Otherwise it means the app was developed by a bunch of monkey, but that could happen - maybe even more likely - with native software as well.
Tldr: to the end user it changes literally nothing nowadays, to the companies and the devs it changes quite a lot. And to some degree, end-users won’t have to deal with shitty ugly apps (unless the designers are jerks, in which case you are probably working in the same company as me)
not everyone can afford 16 GB of RAM though, if you want to make your software accessible write it to work on as many systems as possible with few or no slowdowns or hiccups. Electron is a shitty bandaid because you’re a lazy ass that doesn’t want to write more efficient software for desktop and instead you keep making web applications running natively, which is and will always be wrong
VS Code is low than a text editor these days. It’s frequently used as a full fledged IDE now.
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.
Have fun updating those Electron
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.
I know that Electron is a browser. But the issue is that it’s a different browser, and AFAIK Electron applications don’t share libraries etc. like Chrome/Firefox tabs would, which makes Electron apps even more inefficient than web apps.
Yeah, I’d rather a website
Well, there’s also Tauri which requires slightly more testing since you actually use the device’s built-in browser, so there might be differences. The upside is a much smaller bundle size, quick start-up times and often less RAM usage than with Electron.
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.
C++ is generally more difficult to use than JS. Styling is also more difficult.
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.
We are aware, and we’d take “no app” any day, thank you.
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.
“Not using the app” means instead of developing a real one, I’m being pointed at an abomination.
This means not installing app AKA open in browser
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?
Electron app I don’t use is less chances to get a normal app.
Making a normal app costs much more than making an electron app, so I press X
deleted by creator
Dumping a trashbin into your backyard is even cheaper, doesn’t mean it’s a remotely good idea tho.
So, why is electron a bad idea?
The same reason why webapps are a bad idea. We’ve built monstrous browser engines to do fancy stuff to pages in a bonkers language in a sandbox, and the resulting abomination is neither pages nor apps. And now we’re like: we have so much expertise in shuffling page parts around to look like they’re apps, let’s build “real” apps out of them. It’s like rejecting headphones and towing a car with broken windows around with you just in case you’ll wanna listen to music: it technically works, but makes negative sense.
Uhhhhhh no
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
deleted by creator
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.
deleted by creator
Keep at it, eventually things will click and you might find yourself appreciating the compiler errors and type strictness. Perhaps you’ll even spend time getting rid of warnings even though it will let you run without doing that, because they indicate edge cases that might break your program in difficult to debug ways.
deleted by creator
Yeah, time is always the hard part.
It’s all kinda the same btw. Like you’ll have different sytax and styles, but most languages have variables, loops, conditionals, functions, objects, inheritance, APIs to access OS functions like files and network, etc.
Even native apps usually use cross-platform toolkits which usually have very good Linux support. E.g. Qt, .NET, WxWidgets, GTK (maybe)
Maybe we should make that a trophy
deleted by creator
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.
especially if they’re proprietary…
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.
TIL
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…
I’ve been using Double Commander for years and I love it, but the UI takes some getting used to (and the default settings aren’t great).
-
-
That’s not a compliment to Electron, that’s a heck of an indictment to Microsoft messing up the File Manager.
deleted by creator
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!
deleted by creator
Text chat client was a solved problem 2 decades ago. Teams felt like one step forward, two steps back and the second one was more of a stumble than a step.
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.
Yeah, VS Code is insanely optimized. No other Electron app is even going to try to reach that level.
That’s because all the important bits in VSCode are reimplemented in C++
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!
deleted by creator
What does Ctrl shift I do (I’m not at my computer and I don’t have any electron apps installed)
opens chromiums dev tools
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
That is true, though it’s possible to re-activate them through a configuration file in discord. However, a developer can fully disable the tools if they wish
For VSCode, click Help -> Toggle Developer Tools
on raspbian, don’t remember which version, ctrl shift I opens dev tools Edit vs code dev tools
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.
deleted by creator
choosing to use electron is lazy
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.
It’s a poor architectural choice, but making cross-platform apps is even more problematic with the current UI tooling out there. Too much fragmentation in the base OS’s. If Mac moved to support Wayland or something like that, maybe we’d start getting somewhere.
So you got like 64 GB of RAM or something.
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.
With you for the most part, except where you say the bloated, slow, unreliable, piece of crap Teams is fine…
JS land is the America of development. You may not like it, but it’s the encumbent power and it’ll be that way for a long time so might as well enjoy the plus sides
The McDonalds of fine dining
Just wait for Tauri for mobile so there will be no reason for somebody to use Electron.
I like that for every Electron meme there’s a Tauri comment.
That’s how I learnt about it. Funny enough I can’t see the image on this post (doesn’t load) but I can see the comments
It already should work on mobile, but it’s not production ready. I really want to try it out when I have time.
Front end developers will also have to learn rust, so tauri still presents a barrier to entry.
A big reason for me to use Electron is that Typescript is really easy to use. Does Tauri support that?
Tauri supports the major web frameworks, like React, Next, Sveltekit, etc, so yes.
I’ll take shitty electron apps over winforms any day of the week.
I guess I should be happy that I’ve never heard of winforms?
You have you just didn’t realize it. Think every shitty windows XP app you ever used. They were usually built with winforms.
Where Linux
Not very found of them either but it’s hard to do without them, matter wise.
it’s hard to do without them
Just load the wrapped website in a browser.
Or even better, encourage native apps.
Or even better, steal their source code. 😈
That’s not better at all.
You mean native Windows and macOS apps? Because that’s what you’ll get, mostly.
Or Linux, yes.
You’re aware that Electron app have access to much more stuff than what you can do in a browser? Like, important, functional stuff?
Getting really tired of “this is just a website” approach. It’s starting to feel like /r/programmerhumor here.
Are you aware that a huge chunk, most likely the vast majority, of Electron apps don’t use all that and are just wrapped web sites?
a huge chunk, most likely the vast majority, of Electron apps […] are just wrapped web sites
[citation needed]
[citation needed]
If the question was “how many repositories on GitHub mention the word electron”, your answer would be correct. As it stands, citation is still very much needed.
If the question was “how many repositories on GitHub mention the word electron”, your answer would be correct. As it stands, citation is still very much needed.
That is a valid citation. You can count yourself how many of those repositories are just for wrapping specific websites by random people. If you think I’m wrong, put your money where your mouth is and provide a citation yourself.
just because electron apps have access to system features that browsers restrict access to for security reasons doesn’t mean they’re not websites in a trenchcoat
That works for some apps but not anything that needs access to the filesystem and/or devices. Things like VSCode or mod managers, etc.
That works for some apps but not anything that needs access to the filesystem and/or devices.
Granting some application with a bundled ancient and insecure Electron build is insanity.
Things like VSCode
Luckily there are plenty of native source code editors out there, for example Kate.
Granting some application with a bundled ancient and insecure Electron build is insanity.
Granting some application with a bundled ancient and insecure library of any kind is bad. That is not a problem exclusive to Electron it applies to static builds of any application ever made.
Luckily there are plenty of native source code editors out there, for example Kate.
Okay but that’s not the point. You said, “Just load the wrapped website in a browser.” Some apps won’t function like that. The fact that alternatives exist is irrelevant to what I replied to.
Okay but that’s not the point. You said, “Just load the wrapped website in a browser.”
I replied to “it’s hard to do without them”. So yeah, opening wrapped websites in a browser for most Electron apps and using native alternatives for the rest is totally feasible and absolutely not beside the point.
Yeah, it’s feasible to do that. And? My point was that you can’t just rip out the web portion of an app and always expect it to work in a browser. That’s it. What you said is irrelevant in the sense that it has no effect on whether the web portion can run in a browser or not.
deleted by creator
I guess my pun was lost on your computer mind too, I’ll go back talking to my physics pals
@HenriVolney @Oha I don’t use a single Electron app currently. I might consider VS Code though.
I guess my pun got lost in everybody’s logics. Poor me, unable to connect with my fellow lemmys.
@HenriVolney I’m terribly sorry.
The problem is that even Microsoft choose to use Electron when they built Teams. MS got loads of developers and Teams is really a big product in terms of users.
and vscode
VSC is an interesting case because they opted not to use any JS frameworks for performance
💀 writing a text editor in electron and worrying about performance is wild /hj
It’s quick and doesn’t lag at all, even with the couple dozen plugins I have installed. Compare that to Atom (or whatever it’s called now) with zero plugins.
i cant relate sadly. ive got a decent computer but vscode still takes a while to load (with plugins). neovim on the other hand takes a split second to open, and has never crashed on me, even with the equivilent of my vscode plugins
Its not 1990 anymore, you have more than 2 megabytes of ram.
You’re right, it’s not. Now you need 16Gb because no one can be bothered writing their UI without this garbage anymore.
Honestly for me electron apps can also get pretty janky.
Plus Electron takes WAY more than 2mb of RAM.
And thus cripples battery life.
I only use things like Discord in Safari and Firefox to not have to use the Electron app.
I really don’t get how everything has to use web UI. SwiftUI is really easy to learn and you can run this on any Apple platform. Flutter is a mess but you can run it on Android. GTK looks just gorgeous and Qt can run on everything but ChromeOS (like 99% of things). Is it really too much to ask for 3 more developers in a company that build native?
Small addition: I unsubscribed like many others from 1Password because with version 8 even they switched from native to Electron. This is just crazy.
I mean guys, frickin think about people who can’t afford recent hardware! Do we really want Electron and thus Chromium/Google to force us to buy 1000€+ hardware to be able to do things?
Jank is one reason I’m not a fan of electron. It’s very common to gain extra scrollbars, for the contents to shift around weirdly. Things break in ways that native apps never do, due to the sheer complexity of web rendering these days. Customizability is nearly always lacking, especially when it comes to cooperating with the host OS’s preferences…
I don’t like having to choose between Discord or Logseq and things that actually need the RAM…
Dude, if it doesn’t hog memory then what’s the problem?
It kinda do though. VSCode, without a project open has 10 processes running and uses over a half gig of ram. I like VSCode to be clear. I also like discord but it’s just a chat app and apparently needs a half gig itself and 6 processes.
You should come over to vim. It only takes 12 months of intense training and an additional 3 years of super glueing random rc file configs together before it works how you want it to
Yeah, but once it’s all setup, you get to see all your coworkers roll their eyes when they see you use vim at every job from that point on
So, all worth it in the end 👌
Also, I’ve saved at least $5 over the last decade from wear and tear on mice
And that’s just to figure out how to save and exit.
I use IdeaVim in JetBrains IDEs, does that make me some kind of monster?
I hope they’ll find a way to run all those applications in one browser. Like basically having a browser with multiple tabs but getting treated like seperate sandboxxed apps.
Browser already do this. At least on Linux all browsers use namespaces(containers) for tabs
Pretty sure he means for separate electron apps
Yeah, if all these apps are gonna use a common framework we might as well let the operating system handle it.
So, a web browser?
Does tauri do this?
if
It is slow and usually anyway consume more memory than any native application built the same way due to it have to run a web browser. It is also taking up more storage space and updates are bigger and you need to watch out for we browser security holes. I think Electron have some limitations so you can’t do everything you want with it like a native application.
Lets write an OS in Electron and go to March. Maybe start using the right tool for the right job. If i only know how to build with lego, I dont build a real house with lego, instead i learn how to do it right.
deleted by creator
also works
deleted by creator
so “sudo rm -r / --no-preserve-root” ?
deleted by creator
professionals run everything on root
Professionals boot kernel in singleuser mode