815
you are viewing a single comment's thread
view the rest of the comments
[-] MoogleMaestro@lemmy.zip 327 points 4 days ago

Electron is the only cross platform gui toolkit...

If you ignore QT, GTK and everything else.

I'm so glad that Microsoft makes an awesome cross platfor--- wait, no, but they contribute code to--- hmmm ... Hey, what does Microsoft do to make apps more portable again?

[-] ZILtoid1991@lemmy.world 161 points 4 days ago* (last edited 4 days ago)

The real reasons often are:

  • They want be able to hire much cheaper webdevs instead of software devs.
  • Electron has a lot of built-in data collecting metrics, which they urgently need for creating a real-life KITT.
  • Easy live embedding of content. Sure you can add your own solution, in fact I created ETML as a solution for this problem for my engine, all without any support for nasty scripting languages or convoluted stylesheets (style-inheritance in CSS turned me off from webdev even more than JS did). At best, it can be used for things like embedding videos on Discord, because no one else thought some universal approach, let alone one that disallows proprietary players. At worst, it's being used for ads.

Also a lot of Windows-only apps are Electron apps, only because the manufacturer wants to go "fuck you", even putting protections into the code just in case you wanted to run it on Linux.

EDIT: Forgot the "live embeds" reason.

[-] klangcola@reddthat.com 15 points 4 days ago

Another reason is when developing the Web version first. Draw.io is a good example, where we get a bonus desktop(electron) version "for free" though the product was developed as a web app.

[-] lime@feddit.nu 76 points 4 days ago

one of the funniest (and sadly accurate) things i've heard said about linux backwards-compatibility is that its most stable API is Win32. you can run really old windows software on wine because they support stuff even windows doesn't anymore.

of course this is because the expectation is that you can just recompile old software to work on new systems, which is not really a thing on window.s

[-] jollyrogue@lemmy.ml 10 points 3 days ago

The most stable system is one that is out of support. No updates == No breakage! 😄

[-] Archer@lemmy.world 2 points 1 day ago

It’s very amusing to imagine devs carefully watching for an EOL/EOS date and starting to build software only after

[-] sem@piefed.blahaj.zone 2 points 1 day ago

I think this is the point of Debian stable, and also why some devs hate Debian stable.

[-] Valmond@lemmy.world 38 points 4 days ago

It's so portable! With maximal efforts we support both windows 7, windows 8.1 (but not 8.0), windiws 10 and soon Windows 11 !!!

/s

[-] nymnympseudonym@piefed.social 16 points 4 days ago* (last edited 4 days ago)

Flatpak
AppImage
Snap

Hell, let's not forget
Python Perl
Java
POSIX

[-] teolan@lemmy.world 15 points 4 days ago

The first 3 are Linux only. It's irrelevant.

[-] bobo1900@startrek.website 9 points 4 days ago* (last edited 4 days ago)

Also each is pretty bad in terms of usability and practicality, either losing integration because "containerized" or taking GBs of space or both.

Edit: guys relax, I'm not a linux hater, I use it daily. But windows does have a unified environment, which makes deployment so much easier, while linux doesn't. And that's a problem since you either have old broken apps on distro repositories, or impractical, potebtially bloated, and even more fractionated environments like those I mentioned. They are patches and we should work towards a more standard environment, not adding more and more levels of abstraction like electron does.

Even Torvalds says it so.

[-] Natanox@discuss.tchncs.de 16 points 4 days ago

AppImages can get quite large because each app is self-contained, but the "losing integration" part is nonsense these days for any of these formars. That's why we have portals, and if those aren't enough you can still give the app full permissions.

[-] bobo1900@startrek.website 3 points 4 days ago

Appimages are usually quite reasonable in size, it's Flatpak that usually require 2/3 GB per app since every package has its own version of KDE/Gnome or other runtimes so every app still has to download a new one.

[-] Natanox@discuss.tchncs.de 10 points 4 days ago

That's simply not true, if the required dependencies are already downloaded they get used by every Flatpak app. If you have three apps requiring the Gnome 46 libs those only exist once.

I don't know where this myth about Flatpaks always being gigabytes in size originates from or why it's so persistent, but it's wrong.

[-] bobo1900@startrek.website 4 points 4 days ago

I'm not saying that's not true.

I'm saying I've almost never downloaded a Flatpak that didn't require a new dependency downloaded.

When I removed all my flatpk some time ago, I had: Steam, Viking, Discord, FreeCad and Flatseal to manage them. All of them and their dependencies used something arounx 17 GB of disk space (most of which was of course several versions of dependency runtimes), and that was after I removed all the unused runtimes that forn some reason it doesn't remove after I uninstall or they are upgraded.

I'm sure if I installed more Flatpaks, some dependencies would eventually be reused, but you still need a good collection of them at any given time. So in pracrice you still need a lot lf space unfortunately.

[-] Samueru_sama@programming.dev 1 points 3 days ago* (last edited 3 days ago)

I don’t know where this myth about Flatpaks always being gigabytes in size originates from or why it’s so persistent, but it’s wrong.

Alright, here is ~25 GUI apps flatpak vs appimage:

  • 6 GiB flatpak.
  • 2.7 GIB appimage.

This is if you have a filesystem with transparent compression, If you do not have such filesystem (ext4), then it is more like 15 GIB vs 2.9 GiB lol.

This comparison is missing the flatpak equivalents of kdeconnect, deadbeef and a few CLI tools that I have on right btw, flatpak-dedup-checker for some reason doesn't check the /var/lib/flatpak/repo directory which is usually another +1GiB in best case scenario.

load more comments (1 replies)
[-] rtxn@lemmy.world 6 points 4 days ago* (last edited 4 days ago)

losing integration because “containerized”

Bollocks. I've seen that many times with Flatpak (can't speak for Snap), and every single time it was either because the packager failed to set up permissions or because the user messed with permissions that the application needed. Break off the tip of a screwdriver and it will no longer function as a screwdriver.

And I know you're talking out of your ass because AppImage isn't even sandboxed.

taking GBs of space

That part is true and accurate, and for a very good reason: dependency pinning. System packages can break if they don't have the correct versions of shared libraries. If a package requires a very old version of a library, and doesn't link it statically or supply it with the package, it can misbehave, have missing features, or refuse to even start. Flatpak (and probably Snap too, can't speak for it) solves that by letting the packager specify (pin) the exact version of a dependency. If five separate packages require five different versions of the GNOME application framework, then they will download five separate packages of the correct version. AppImage solves it by being monolithic: everything is packaged together into a single executable.

[-] ryper@lemmy.ca 3 points 4 days ago
losing integration because “containerized”

Bollocks. I’ve seen that many times with Flatpak (can’t speak for Snap), and every single time it was either because the packager failed to set up permissions or because the user messed with permissions that the application needed. Break off the tip of a screwdriver and it will no longer function as a screwdriver.

Well then I guess you haven't tried to get a password manager like KeepassXC to work with a Flatpak browser, because none of the solutions I've seen are "fix the permissions".

[-] Ghoelian@piefed.social 1 points 3 days ago

From what I've read it seems you shouldn't run a browser as a flatpak anyway, as this somehow weakens the built-in isolation.

I think I originally read about this somewhere librewolf-related but can't seem to find it now.

I did find this similar discussion: https://discuss.privacyguides.net/t/correct-way-to-install-browsers-on-linux-securely/27046/6

load more comments (5 replies)
[-] prole 3 points 4 days ago

I like having options

[-] teolan@lemmy.world 3 points 4 days ago

Flatpak is good. I say that as both a user of them and a dev of applications that are published as flatpaks.

[-] cows_are_underrated@feddit.org 9 points 3 days ago

You can even do inefficient UIs in Python using tkinter, which is part of the standard library in python.

[-] addie@feddit.uk 19 points 3 days ago

Python tkinter interfaces might be inefficient, slow and require labyrinthine code to set-up and use, but they make up for it by being breathtakingly ugly.

[-] cows_are_underrated@feddit.org 4 points 3 days ago

And now imagine yourself creating an UI in tkinter without an editor. Because that's what I did. It was absolutely horrible.

[-] 30p87@feddit.org 2 points 3 days ago

Probably faster than me even deciding the bg color tho

[-] cows_are_underrated@feddit.org 2 points 3 days ago

I didnt care how it looked, because I only wanted for it to be finished fast.

[-] 30p87@feddit.org 1 points 3 days ago

For efficiency, just use the cli. The user doesn't want it? Then I don't want the user.

[-] cows_are_underrated@feddit.org 1 points 3 days ago

I do not want the user to ever be expected to edit the database by hand. If they make a mistake by doing so, they can break the entire system. That's why I wrote a GUI which gets the job done.

[-] 30p87@feddit.org 1 points 3 days ago

Well, every high-level, abstracted action done in a GUI can just be mapped onto subcommands of a CLI

[-] cows_are_underrated@feddit.org 1 points 3 days ago

It could, but since the GUI was not very complicated it was not worth the effort caused by teaching the people who would have used the GUI how to do it in the CLI. They also have a lit of other work to do, so if I would have expected them to use the CLI, they would have probably not done the stuff I want from them at all.

[-] Blisterexe@lemmy.zip 3 points 3 days ago

Ugh, and they're just weird. I can handle ugly but ktinker popups go across virtual desktops and over other windows for some ungodly reason, and never seem to dismiss themselves properly

[-] DacoTaco@lemmy.world 7 points 4 days ago* (last edited 4 days ago)

.net
.net cli apps are cross platform and can be portable :p
Gui in .net isnt fully cross platform ( maui is everything except linux ) but frameworks like avalonia ( .net ) and imgui fix all that :')

[-] klangcola@reddthat.com 10 points 4 days ago* (last edited 4 days ago)

Thanks for reminding me why Maui doesn't support Linux. I saw Maui mentioned in an earlier comment and was baffled why KDE would make something not working that doesn't work in Linux. It's because Microsoft stole the Maui name from KDE: https://www.phoronix.com/news/Microsoft-KDE-MAUI

[-] DacoTaco@lemmy.world 3 points 4 days ago

LOL, didnt know maui naming was taken before. Hilarious

[-] uranibaba@lemmy.world 1 points 2 days ago

Does not MAUI compile to Linux, just that you need to compile on Windows?

[-] DacoTaco@lemmy.world 1 points 2 days ago

Nope. The ui framework doesnt support linux at all. None of its cross platform claases and enums have linux. Its stupid because .net and aspcore just work on linux...

[-] uranibaba@lemmy.world 1 points 1 day ago

https://github.com/dotnet/maui

Android, iOS, iPadOS, macOS, and Windows

Everything but Linux, that's funny.

I look at MAUI a year or so ago and IIRC, "official" Linux support was made by the community.

[-] mittorn@masturbated.one 3 points 3 days ago

@DacoTaco @MoogleMaestro there is a port of mono winforms implementation to modern dotnet and it's really works:
https://github.com/DanielVanNoord/System.Windows.Forms

load more comments (5 replies)
[-] ICastFist@programming.dev 5 points 4 days ago

Lazarus gang, this is your chance!

[-] teolan@lemmy.world 5 points 4 days ago

GTK is not accessible anywhere other than Linux and is therefore not a serious option outside of Linux.

[-] XenGi@feddit.org 26 points 4 days ago* (last edited 4 days ago)
[-] teolan@lemmy.world 7 points 4 days ago

I said accessible not available. If you don't know what it means, accessibility means integrating with the OS screen readers and other similar tools so that everyone can use your app, not only people by people with good eyesight, and capable of using a mouse.

[-] MoogleMaestro@lemmy.zip 10 points 3 days ago

I mean... Windows could probably contribute to GTK if they wanted to expose their accessibility APIs. This would in theory be a good use of time.

[-] frunch@lemmy.world 5 points 4 days ago

Thanks for the lesson

load more comments (3 replies)
this post was submitted on 09 Dec 2025
815 points (100.0% liked)

linuxmemes

28401 readers
1003 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

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 sudo in 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 figuresWe 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.

    founded 2 years ago
    MODERATORS