672
submitted 7 months ago by drascus@sh.itjust.works to c/linux@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] JetpackJackson@feddit.de 28 points 7 months ago

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

[-] crispy_kilt@feddit.de 150 points 7 months ago

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.

[-] TrickDacy@lemmy.world 39 points 7 months ago* (last edited 7 months ago)

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.

[-] qaz@lemmy.world 9 points 7 months ago

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

[-] eutampieri@feddit.it 3 points 7 months ago

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

[-] qaz@lemmy.world 1 points 7 months ago* (last edited 7 months ago)

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

[-] CosmicCleric@lemmy.world 6 points 7 months ago

Let’s try to embrace cross platform solutions,

[JavaFX has entered the chat.]

[-] TrickDacy@lemmy.world 2 points 7 months ago

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

[-] dan@upvote.au 3 points 7 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.

[-] crispy_kilt@feddit.de 2 points 7 months ago

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)
[-] angrymouse@lemmy.world 13 points 7 months ago

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

[-] D_Air1@lemmy.ml 2 points 7 months ago

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

[-] FatLegTed@piefed.social 1 points 7 months ago

But does it sweat though ;-)

[-] BananaTrifleViolin@lemmy.world 61 points 7 months ago

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.

[-] JetpackJackson@feddit.de 3 points 7 months ago

oh yikes. that sucks.

[-] PlexSheep@feddit.de 43 points 7 months ago

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

[-] TrickDacy@lemmy.world 6 points 7 months ago

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.

[-] phar@lemmy.ml 9 points 7 months ago

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

[-] TrickDacy@lemmy.world 5 points 7 months ago

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

[-] smileyhead@discuss.tchncs.de 2 points 7 months ago

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

[-] loudWaterEnjoyer@lemmy.dbzer0.com 1 points 7 months ago

Dev here.

Yeah that's how it works.

load more comments (5 replies)
[-] Gallardo994@sh.itjust.works 3 points 7 months ago

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.

[-] TrickDacy@lemmy.world 0 points 7 months ago

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.

[-] Gallardo994@sh.itjust.works 1 points 7 months ago

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

[-] TrickDacy@lemmy.world 0 points 7 months ago

Not my experience. Not sure what qip is either

load more comments (1 replies)
[-] Pantherina@feddit.de 1 points 7 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

[-] BCsven@lemmy.ca 1 points 7 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

[-] gencha@feddit.de 14 points 7 months ago

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.

[-] JetpackJackson@feddit.de 1 points 7 months ago

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

[-] gencha@feddit.de 1 points 5 months ago

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

[-] JetpackJackson@feddit.de 1 points 5 months ago

I've never gone to the webpage of electron

[-] dan@upvote.au 1 points 7 months ago* (last edited 7 months ago)

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)

[-] JetpackJackson@feddit.de 1 points 7 months ago

Ah ok gotcha. Thanks.

[-] tsonfeir@lemm.ee 7 points 7 months ago

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.

[-] leopold@lemmy.kde.social 3 points 7 months ago

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

[-] tsonfeir@lemm.ee 1 points 7 months ago

Ahh thank you.

[-] JetpackJackson@feddit.de 2 points 7 months ago
[-] ReakDuck@lemmy.ml 4 points 7 months ago
[-] Pantherina@feddit.de 3 points 7 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.

this post was submitted on 16 Mar 2024
672 points (96.7% liked)

Linux

48021 readers
1015 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