Because why go for native performance when you can go for minimum effort on all platforms.
linuxmemes
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
- Don't get baited into back-and-forth insults. We are not animals.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudoin Windows. - No porn, no politics, no trolling or ragebaiting.
- Don't come looking for advice, this is not the right community.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
5. π¬π§ Language/ΡΠ·ΡΠΊ/Sprache
- This is primarily an English-speaking community. π¬π§π¦πΊπΊπΈ
- Comments written in other languages are allowed.
- The substance of a post should be comprehensible for people who only speak English.
- Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations. - Keep discussions polite and free of disparagement.
- We are never in possession of all of the facts. Defamatory comments will not be tolerated.
- Discussions that get too heated will be locked and offending comments removed. Β
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
When all you have is ~~a hammer~~ JavaScript, everything looks like a ~~nail~~ web page.
Kids these days don't bother learning languages that actually compile to native apps.
All of my degree was in C, C++, C#, Java, etc. and the one class I had that did web applications did Java backends and middleware with PHP frontends. It wasnβt until I got into the industry that I had to learn Angular, Electron, React, Django, etc.
I donβt think itβs the devs making these decisions.
It's the minimum effort that translates to minimum time that translates to minimum cost for the business. Why hire another developer for a mobile app (or another platform) when you could just have the same web dev write it. Or without hiring another dev, why have the same dev need to build up tooling in another language when you can just reuse from the existing platform
Exactly, that and the βwe are a [insert product name here] shopβ mentality. The things I have had to fight for over the years are mind boggling.
It is the devs. Management says they need it fast then the devs say "fuck you here's your browser tab app".
I deam of a dev job that would let me actually write a good app..
Because you want a cross platform solution?
I get that electron can be slow, bloated, etc, but the amount of ire it draws is overboard.
Yes but sometimes, for example core parts of windows 11 like the start menu, don't need to be cross platform and should be native, not a pwa
Especially since they had already native code in previous windows...
Lol I mean I would never use windows 11 or defend that use of it. I'm just saying a valid use of electron is to target multiple platforms with minimal development hurdles.
Having built applications with Microsoft's mfc, Java's swing, the omnipresent Qt, and whatever nastiness Mac was using in the early 00's, electron is worth the silliness. Trust me. Trust me.
the omnipresent Qt
So weird. I spent more than two years of my career working on a Qt app (not by choice) but I've never met another human being who has ever even heard of Qt. Nothing else has ever made me so certain that I'm clinically insane.
My favorite thing about Qt was the use of C++ for the back end and Javascript for the UI layer. It lets companies take advantage of the, uh, four people in the world who are good with both languages.
I'll admit I'm not versed enough as a developer to grasp this so I'll take your word for it.
... I'mma just build my cross platform programs in Godot and nobody can stop me. >:)
Because different OSes follow different Human Interaction Guidelines and I expect that applications follow the native look and feel.
following every linux de/wm's interaction guidelines seems pretty hard
Electron is broken in implementation
We need something like React native for desktop
Why have a consistent Wayland experience when each application can run it's own Electron version with varying degrees of enforced Wayland flags, and/or such an outdated Chromium version Wayland is just jank.
Edit:
Was trying to say that most of these CEF/Electron applications all need their own separate Wayland specific (Chromium) flags to have better Wayland support/integration. And the older Electron applications typically use an older Chromium as base, having even worse Wayland support... Was not trying to make this a "Wayland bad!" kind of post.
TL;DR: Electron applications have wildly varying level of Wayland support/integration, don't have any Wayland issues other than specific CEF/Electron apps!
Wayland isn't the problem. Chrome just doesn't behave well with it. I haven't had any Wayland-related issues with Firefox.
Yeah, maybe it was just badly worded by me...
most (if not all) Wayland issues I currently have are related to Chromium, and especially CEF/Electron applications that are based on older Chromium versions. Weren't trying to say that this is an inherent Wayland issue, considering most of the applications works as expected.
Ah I see. I understand now! I thought you may have been one of the people that is still saying X11 is superior, even though Wayland is very usable now.
Ive been hitting weird issues in Chrome too, and had to disable GPU compositing to fix them. Unfortunately I have to use Chrome at work - we're not allowed to use other browsers, as only Chrome has the endpoint security functionality they require (provided by Chrome Enterprise Premium). No other browsers have or can provide the same features.
Always that reflex against Wayland - as someone who has switched to Linux not so long ago i have a hard time with the mindset long time Linux users have against Wayland. I understand that it might be annoying if someone is used to his X-Server and that some tools that people are used to for a decade will get left behind. But as a new user I do not have anything negative to say about Wayland. It behaves nicely with my multi-monitor setup and VRR, has no issues with my Nvidia graphics card, and Xwayland covers tools that can't or won't migrate. Using Pipewire allows Steam Remote Play. In the year or so since i switched to Linux, the stability has changed from "it's ok, but annoys me sometimes" to "rock-solid".
Y'all have to recognize that there is a new generation of Linux Users around, which does not have nostalgic feelings towards X, and for those Wayland is simply the normal way things run. Whining will not change that.
The Wayland debate is the same as the systemd debate of 2015 minus the death threats.

I know it's easy to dunk on Electron... but have any of yall written any desktop apps with native frameworks? I wrote a small GTK4+Vala app once and I discovered desktop frameworks are very different than developing webapps. Customizing the look, feel, interaction of elements, and general mechanics, seems like a toooon of effort. (It kinda seems like you're not supposed to customize it.) Web development is waaaaaaaay more friendly towards customization. Which as a company, you want your app to look like your company, not some generic OS bundled app.
And then you have to repeat all that effort for crappleOS and Wangblows?... And then you gotta hope that it's even possible to do the thing you want in different OSes. Sheesh.
I mean, I'd be happy if everything was native apps, but I also understand why people don't tend to choose that route.
That's kind of the point of the frameworks though? Electron apps suck not only because of resource footprint, they don't look and feel native, if they have any accessibility it's usually custom and different for every program. Too much customization is bad.
I remember the times before UI toolkits took over. These programs had soul and were beautiful in their own way, but you had to learn how UI elements worked in each of them separately. The same thing happens with web apps now. Tab and the other usual keyboard shortcuts rarely work, controls are all custom.


Once upon a time, we differentiated our apps based on their capabilities and gave them a consistent interface so people who knew how to use Windows|Linux|MacOS apps would already be familiar with how they operated. Now we differentiate on looks/user experience, and many of them arent capable at all.
People took the wrong lessons from beautiful GUI design. Anyone who felt it was just aesthetics missed the point. It wasnβt just flashy UI on what boils down to a database.
Customizing the look, feel, interaction of elements, and general mechanics, seems like a toooon of effort. (It kinda seems like youβre not supposed to customize it.)
Holy shit, he figured it out!
So yeah, it turns out that platform human interface guidelines are a thing, and for good reason.
Which as a company, you want your app to look like your company, not some generic OS bundled app
What kind of take is this? Consistency among UI used to be treasured
Sorry but the window real estate of an application isn't meant for branding and advertisement. For that you have splash screens and the about dialogue, or even the help pages. And for more branding your webpage.
GTK is so shitty to use that they created Vala to make it usable.
it kinda seems you're not supposed to customize it
This is usually a good thing. More recent native frameworks like Qt QML do work more or less like designing web apps though, if that is what you want to. Qt Widgets itself provides a uniform look on platforms.
And vaguely related: Sciter, a little known but widely used framework that is a few megabytes and is similar to electron for design but very lightweight. Far older than it, too.
Customizing the look, feel, interaction of elements, and general mechanics, seems like a toooon of effort. (It kinda seems like youβre not supposed to customize it.)
Sometimes all of this is there for a reason. I used to really hate standard Windows (and I still do) but it had one big advantage: everything was accessible, in the sense that it all worked very well for blind and vision-impaired people. Usually when people create their own custom look and feel etc. they never accommodate accessibility at all.
This edit is really well done.
Everyone should have to make one native app before being allowed to make fun of electron/webviews.
Counterpoint: Every developer should have to test their app on a machine with 1 GB of RAM and a dialup modem before inflicting their bloat on the rest of the world.
I just tried doing some work on a convention center WiFi connection in a small town. And it was clear the software I was using had no concept of slow internet. No progress bars on downloads, no resuming when connections dropped.
Everything just assumes max performance and fast network.
works on my machine
What are you talking about? I love having five apps all download the same 20mb node libraries each running their own Chrome sandbox processes all because they can't share them amongst themselves.
I get that it sucks. Are there any alternatives, where I have one codebase for all platforms?
e

Lol, this is funny