this post was submitted on 16 Mar 2024
676 points (96.6% liked)

Linux

48400 readers
695 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

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
[–] [email protected] 28 points 8 months ago (7 children)

Out of the loop, what's wrong with electron?

[–] [email protected] 151 points 8 months ago (4 children)

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.

[–] [email protected] 38 points 8 months ago* (last edited 8 months ago) (16 children)

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.

[–] [email protected] 9 points 8 months ago (1 children)

There is Tauri which packages it with WebKit and uses Rust as backend.

[–] [email protected] 3 points 8 months ago (1 children)

I think tauri uses the OS web view, so it depends

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

I just checked, and it seems that it indeed only uses WebKitGTK on Linux

[–] [email protected] 6 points 8 months ago (1 children)

Let’s try to embrace cross platform solutions,

[JavaFX has entered the chat.]

[–] [email protected] 2 points 8 months ago (1 children)

I don't know what javafx is, but java is hell. For me. I'm glad it works for others

[–] [email protected] 2 points 8 months ago
[–] [email protected] 3 points 8 months ago

The hate on Lemmy of electron is a bit of an overreaction if you ask me

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.

[–] [email protected] 2 points 8 months ago (1 children)

Rust is infinitely easier to maintain than mountains of untyped js garbage libraries built upon left pad

load more comments (1 replies)
load more comments (12 replies)
[–] [email protected] 13 points 8 months ago (1 children)

I bought 32gb of RAM cause I was tired and gave up to eléctron apps

[–] [email protected] 3 points 8 months ago

I bought 64 gigs of ram and still refuse to use it.

[–] [email protected] 1 points 8 months ago

No, one Chrome tab does not eat that much RAM. Yes it is not as good as native, but it is more platform agnostic, and an Electron app does not really go above 300 MB RAM.

[–] [email protected] 1 points 8 months ago

But does it sweat though ;-)

[–] [email protected] 61 points 8 months ago (1 children)

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.

[–] [email protected] 3 points 8 months ago

oh yikes. that sucks.

[–] [email protected] 43 points 8 months ago (3 children)

It's just the webapp. If we want the webapp we use a browser.

[–] [email protected] 6 points 8 months ago (3 children)

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.

[–] [email protected] 9 points 8 months ago (1 children)

It could be that simple. They just hinder their own website to get you to download the app.

[–] [email protected] 5 points 8 months ago (2 children)

You really believe that? It would be easier for them to maintain only the website, so this really doesn't make sense to me.

[–] [email protected] 2 points 8 months ago

Both are Chromium apps.
First running on Chromium, second running on modified Chromium.

[–] [email protected] 1 points 8 months ago (5 children)

Dev here.

Yeah that's how it works.

load more comments (5 replies)
[–] [email protected] 3 points 8 months ago (3 children)

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.

load more comments (3 replies)
load more comments (1 replies)
[–] [email protected] 1 points 8 months ago

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

[–] [email protected] 1 points 8 months ago

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

[–] [email protected] 16 points 8 months ago (1 children)

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.

[–] [email protected] 1 points 8 months ago (3 children)

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

[–] [email protected] 1 points 6 months ago (1 children)

What source do you need? It's almost literally the mission statement of Electron.

[–] [email protected] 1 points 6 months ago

I've never gone to the webpage of electron

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago) (1 children)

Do you have a source about the system level access statement?

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)

[–] [email protected] 1 points 8 months ago

Ah ok gotcha. Thanks.

[–] [email protected] 7 points 8 months ago (2 children)

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.

[–] [email protected] 3 points 8 months ago (1 children)

WebKitGTK is only native for GTK desktops. On Qt desktops, you'd want QtWebEngine instead.

[–] [email protected] 1 points 8 months ago

Ahh thank you.

[–] [email protected] 2 points 8 months ago
[–] [email protected] 4 points 8 months ago
[–] [email protected] 3 points 8 months ago

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.