this post was submitted on 16 Mar 2024
674 points (96.5% liked)
Linux
48245 readers
638 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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
Aaaand it's electron garbage.
Out of the loop, what's wrong with electron?
It's basically Chrome. It's not a real application, it's a website pretending to be one. It uses a metric fuckton of RAM and eats your battery faster than Prince Andrew a minor.
If Firefox could allow their engine to be packaged like this I'd use it. The problem I see here is chromium. Everything is a trade off and we need more ways to build maintainable cross platform applications.
Slack, for example, is Electron and it runs great. One of the best apps I've used. And it works better than the browser version...
The hate on Lemmy of electron is a bit of an overreaction if you ask me. Yeah it uses more ram than is necessary but again everything is a trade off. Not everything can be a hard to maintain rust app. Let's try to embrace cross platform solutions, though yes fuck chrome/google, so sure criticize that part of it.
There is Tauri which packages it with WebKit and uses Rust as backend.
I think tauri uses the OS web view, so it depends
I just checked, and it seems that it indeed only uses WebKitGTK on Linux
[JavaFX has entered the chat.]
I don't know what javafx is, but java is hell. For me. I'm glad it works for others
https://en.wikipedia.org/wiki/JavaFX
The issue is mainly developers using Electron when things like React Native and Flutter exist. I don't know a lot about Flutter, but React Native uses native UI widgets and feels a lot nicer than Electron.
Rust is infinitely easier to maintain than mountains of untyped js garbage libraries built upon left pad
🙄
I bought 32gb of RAM cause I was tired and gave up to eléctron apps
I bought 64 gigs of ram and still refuse to use it.
But does it sweat though ;-)
Each electron App is actually a full independent chromium browser install running a website. It's easy to code for and works cross platform as a result, but it's essentially just a website, although they can run offline depending on what's been built in to the local app.
Each electron app running on your system is a separate full chromium app running, with no sharing of resources between each instance. So they take up a lot of space each and duplicate all the resource usage, and potentially the security flaws.
oh yikes. that sucks.
It's just the webapp. If we want the webapp we use a browser.
Slack desktop app is built with electron and works much better than the web app in my experience. So no it's not actually always that simple.
It could be that simple. They just hinder their own website to get you to download the app.
You really believe that? It would be easier for them to maintain only the website, so this really doesn't make sense to me.
Both are Chromium apps.
First running on Chromium, second running on modified Chromium.
Dev here.
Yeah that's how it works.
I'm a web developer. I think there's a misunderstanding here. The person I responded to said that slack purposely made the web version worse than the desktop app, which I'm doubting.
Yes, how are you doubting that? Is your company not big enough to want to pull users to a specific platform so you have to cripple the others?
Because I have used both versions of slack and they're almost exactly the same. The desktop version only works better imo because of small factors such as having its own window so it does not get buried in tabs, and the notification options are (or at least were) more robust. Have you not used the two versions?
I don't really understand your comments. Are you implying that there would be an advantage for slack to "cripple" the web version, when they are essentially running probably 99% of the same code in the electron version? They're never going to get rid of the web version, and if you've used slack for ~9 years like I have, you can easily observe they're actually one of the few app makers out there to make mostly positive changes to their app. They aren't suddenly going to make the web app shitty.
Also, obviously yeah when it makes sense to, app makers in general make the web app version shitty on purpose. Reddit mobile for example. But just because that's a thing in the world doesn't mean it is what slack is doing..not sure why you seem to be implying it's a universal practice.
Slack is one of those apps which lags in a week on any hardware, it might be better than web version but it still sucks ass compared to fucking ICQ clients. Source: using it in the company I work for, for about 7 years already.
I don't often have trouble with slack being slow, or buggy. Been using it like 9 years myself. Interesting you're comparing slack to icq. Are you referring to a current version of icq, or the one that existed in the early 2000s?
I am not sure I understand comparing an app designed to do video/audio chat seamlessly, threaded conversations, channels, filesharing, plus has dozens of subtle nice features that make for a rich experience and a... Chat app, that worked fine for sending plaintext messages but didn't really do anything else.
I compare it to qip or similar with voice calling support about 10 years ago. But still, Slack loses to pretty much anything on the market regarding performance, be that Element, Telegram, Skype or even Discord. It literally battles with biggest IDEs lol
Yeah, I was dissapointed, but at least it is a controlled browser and not reliant on your normal browser which could change or have malicious extensions
This. Its webapp with more persistent storage maybe. If the Browsers could integrate this, it would be a gamechanger.
I am also very sure that Chrome preloads google. com to make it seem to "load faster". Its all just preloading or persistent storage
It's what you deploy to your users if you want to work around ad blockers and browser extensions. It's a great tool to get operating system level access to exfiltrate information about your users and identify them uniquely, even if they would prefer that not to happen.
All that with the help of Google's telemetry engine aka Chrome, which further helps Alphabet to manifest their interpretation of web standards in the world.
We worked to move things onto the web. Now people bring the web back to your desktop with every application bringing it's own browser shell. We have come full circle and we're now using 10x the resources.
Electron is the prime example of everything that is wrong in IT.
Wow. That sounds horrible. Do you have a source about the system level access statement? I would like to see people's thoughts on it, if it's as bad as it sounds, I'm surprised I haven't heard about it before
What source do you need? It's almost literally the mission statement of Electron.
I've never gone to the webpage of electron
Electron apps are native apps with the Chromium browser embedded in their windows, so they can do anything a native app can. It supports Node.js modules for things like filesystem access, and can interop with C++ code by writing an add on (https://nodejs.org/api/addons.html)
Ah ok gotcha. Thanks.
There are other options like Tauri that do the same thing as electron, but instead of bundling chromium with the app, it relies on the OS provided web view. It’s also built with Rust, which tends to be faster.
As an example, Mac would use Safari, Windows would use Edge (chromium), and Linux would likely use WebKitGTK, which is what safari uses.
By using the default browser, developers save a ton of space—at the risk of compatibility issues, which are very very rare nowadays.
WebKitGTK is only native for GTK desktops. On Qt desktops, you'd want QtWebEngine instead.
Ahh thank you.
interesting!
Everything
Electron runs a core Chromium Browser + NodeJS + a bit more.
Unlike Chromium itself it is not backwards compatible and removes a ton of things like its sandboxing capabilities.
I am not sure how it is less secure, but it may use more RAM (also not always but generally yes of course), doesnt allow hardening (unlike android WebView apps) and breaks LD_PRELOAD-ing another memory allocator.
This is only a big problem in special cases, in general it makes apps strictly dependend on GNU glibc and others, no idea how it works on Alpine or others (that actually try to make a secure system).
If somebody knows more about security concerns about Electron, please add.