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?
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.
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.
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
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.
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.
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.
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.
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.
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.
In my experience the issue is different flatpaks depending on different versions of gnome platform or mesa or whatever, so you have multiple versions of the same library.
I have plenty of storage though so I don't care that much.
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.
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".
I don't know if it's still the case, but up to a couple of years ago, Flatpak was configured so that externally mounted folders were not accessible. I discovered that when Steam on flatpak refused to install games on my hdd, and it was quite frustrating to figure out how to enable it. Still, it's difficult to criticize how "bloated" are electron apps (they are) when I need to download 2GB or runtime for an 80MB telegram binary
Snaps integration is even worse as I've seen browser extensions state they straight don't work on snap's browsers. Also desktop integration on gnone (even files drag and drop between snaps) are broken on the ubuntu installations I tried.
Appimages have the least drawbacks and are my preferred methods between the three (at least they take less storage space than an equivalent Flarpak for some reason, but are still broken sometimes), yet they still miss a central package repository, and that's a big problem.
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.
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.
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
.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 :')
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
Winforms of all things haha. Eeuw xD
But thats flipping awesome and i love it!
I know xamarin was wpf being cross platform with mono, but thats a dead horse thanks to microsoft haha
@DacoTaco Yes, it's Microsoft decided to kill classic win32 widgets and any XAML support in Mono, forcing new WinRT platform and not providing any GUI support in netcore. It's sad that nobody made some crossplatform WPF implementation for modern dotnet, Maui is not incompatible with existing source code, IIRC
@hdsrob
>That’s basically Avalonia UI.
no, avalonia cannot help you run existing applications. Also. Avalonia is a crap, taking minutes to parse xml crap on poor hardware
Yes, there are many implementaion of WPF-like UI, but no implementation of existing Windows UI.
mono's winforms allows you run existing winforms apps without single line change or even without recompiling (just replace related System.Windows.* assembies)
Avalon is actually xaml and cross platform.
Personally id rather have a razor format of gui code, but xaml is a good second. Its basically what maui was suppose to be
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...
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.
Punchable is a bit far, probably wanna tone it down a bit, big guy.
Just kidding, but it's only funny and also is it this guys fault?
I don't even know if it's true, but in any case, the guy who tasked a react (native) developer on the start menu is responsible (not the developer).
Example: If I managed a product and hired a python developer and told them to do x, they would likely use python, right? (In this scenario, It is I the manager wjo failed everyone, not the developer).
Also the other commenter is correct. It's like the common saying "use the right tool for the job". The saying doesn't make sense, because the right tool is always the one you know how to use..
Didn't mean that literally 😁 I just thought it was funny to describe a written response as punchable. But the response was annoying.
It might not be the developer's fault, but him practically defending the choice by completely dodging the performance aspect is irresponsible to me. It's like he's ashamed to discuss it. Or doesn't have the knowledge to?
A good developer should speak up and say that they might not have the skill set required for the task. That's my opinion. Either that or learn the ropes but flag for extra time needed.
the right tool is always the one you know how to use..
100% disagree. There are more suitable tools for certain jobs.
Hello I am looking for a job as a surgeon. Okay what tools do you know? Jackhammer. That's the only one you know? Yup. Mmkay then that's the right tool for surgery in your case, can you start Monday?
🫠
Imagine someone using Java to write a program that just runs several other commands in sequence. That should really be a script, and the developer should learn a sufficiently suitable shell scripting language.
But yeah, ultimately I agree, it's not his "fault". Especially if he flagged this to be something a bit out of the ordinary, and his manager(?) insisted. Then it's 100% not the guy's fault, for sure ong.
Well, at least it's React Native, seemingly. Also from what I've heard it's only one section like rendering results from the web or some shit like that.
Tbh, it's not entirely wrong, which is the reason why it works so well as rage bait.
It's really not about Linux, but it is about supporting anything and everything out there with a single app. Use Electron and you can have the same app running on Windows, Mac, Linux, Android, iOS, your car, your game console, your smart fridge and in a website.
Of course the result sucks, but if you can cut development effort into a fraction while also supporting systems that you would have never supported otherwise, that's not a bad deal for businesses.
You dont even have to look at the code to see this. Just make one wrong click in a UI and youre directly getting dragged into a UI that hasn't changed since Windows XP.
But that's always a good sign that you've dug into the part that actually still works consistently! Once you pop some Windows 2000 era UI you know you've struck gold and need to note the path for next time (until Microsoft rearranges their settings for the 5th time this year of course)
Funnily enough I still look for the Control Panel before even attempting to find a setting in the Settings app.
The Control Panel is consistent, it works, and it hasn't changed in years. Meanwhile the Settings app gets rearranged every 2 months, with constant design changes, and it's also terribly slow on low end devices and VMs.
It's sad that Microsoft is "unifying" the Windows settings and killing the Control Panel in the process.
Some things should be replaced or updated to improve performance. However, I don't think Windows has ever done anything of the sort, I certainly can't think of any examples since Vista.
I hate the Windows API so much. There are like 100 million function that all start with a capital letter and take a kajillion arguments just to do the most simple thing imaginable (see CreateThread). And there are twenty different typedefs for the same type (PSTR, LPSTR, tchar* all point to char*). Also all variables and function arguments should start with their types, like hWindow if the window is a HANDLE.
I hate this joke of a programming interface so much, I hope everyone sticks to programming with POSIX and platform-agnostic libraries.
EDIT: And also, did I mention that if you want to use it, you get all of it or none of it? It's literally a single header file named Windows.h. You get just that and take it or leave it.
Eh? When I did some Windows programming many moons ago, in the 2000s, MSDN was way above average for software documentation. Can't imagine they trashed it all.
Blocking is severe, but boy is my feed clean of morons (I think I've only blocked like 30 people on Lemmy).
You gotta try it. Very satisfying to click 'read all' on your inbox now and then to clear out notifications for new (hidden) messages from trolls you've blocked.
The user land API/ABI is stable to a fault in Linux. The kernel API/ABI is unstable.
Companies are cheap. They hired web devs then tasked them with building a desktop application rather then hiring people to write native apps. They had a hammer and used it to fix every problem they had.
macOS is just as affected by electron apps as a Linux is.
Electron is horrible, but it does bring apps to many an OS once Chromium is ported.
Open protocols or open APIs from the company would fix the non-native app problem.
The user land API/ABI is stable to a fault in Linux. The kernel API/ABI is unstable
It's the other way around. The kernel API stable to a fault, the kernel ABI isn't. If your application only relies on the kernel API you won't have many compatibility issues. If you rely on userland stuff such as C++ stdlib, GTK, QT, Python, ... Good luck.
I wasn’t clear and that seems to have cause some confusion. I was talking about the Linux kernel itself, and only the Linux kernel.
There are two sides to the Linux kernel: internal exposed to drivers and such, external syscalls exposed to the public. That’s what I was talking about.
All bets are off with 3rd party software. That’s just a general problem in software development. It’s not specific to Linux, and it’s why vendoring libraries is recommended.
This is why all the 3rd party software is frozen at a point-in-time with fixes backported in distros like Debian or RHEL. It fixes the problems of devs being mercurial. The distro is the SDK. It creates a stable base, and it works rather well.
Unfortunately, most software relies on libc and a compiler. Both of which can be problems, and both of which are external to the Linux kernel. There’s not much which relies on only kernel syscalls.
Edit: I bought this one for 180 in another site just a few months ago. It now costs as much what I paid for RAM, CPU + MOBO. Dodged a bullet not waiting for the black Friday "deals"
Further, if you get code into the kernel, anyone who breaks it needs to fix it. So it seems to me it's only a problem if you're trying to do something like maintain a proprietary driver without putting it into the kernel? Or something to that effect?
Basically. Out-of-tree drivers are annoying without an LTS kernel.
There are also out-of-tree drivers which don’t get mainlined for one reason or another even though they are FOSS. OpenZFS has this problem, and now so does bcachefs.
This is such a hilariously bad take. I like how "I can't use Win32 on Linux" morphed into "re-write the whole app in Javascript just so I can use Electron."
Meanwhile, Wine and QT are like: "am I a joke to you?"
I'll add that (IMO) a lot of applications are becoming increasingly malicious, although less-so in the desktop space. I'm happy that devs like this are forced to quasi-sandbox their crap into a browser. Actually, if anyone knows how to crack into an Electron app in order to restore local plugins, user-scripts, and sandbox security controls, let me know. Or just liberate the guts into a local web app instead so I can use a real browser? This trend could be very useful for local security if those features become available.
I can code in C on all 3 (more if you include BSDs). You would not believe how amazing my skills are to avoid platform specific dependencies in a language that predates all these OS.
And what kind of slavering mouth-breathing teoglodyte doesn't understand that Hannah Montana Linux negates all of these issues, will suck your dixk without hesitation, and lets you read news from four days from now.
There is no way to be sure. Either case, it can be a case of Hanlon's razor. "Never attribute to malice [in this case: baiting] what can sufficiently be explained by stupidity".
Dear god, I had to write wxWidgets/C++ for Win32 last year for work and it was horrific. Never again, back to modern web standards for me. The irony is that it was justified as being "cross platform" but we never got around to actually making it work on Linux. Makes no sense, it should have been an internal web app. (Admittedly, this was for law enforcement software and they seem to love windows.)
Yeah, he doesn't know what he's talking about. There is a shitload of frontend developers that specialize in web standards and technologies. Electron was developed to take advantage of that deep pool of frontend developers. The side affect, is that other OSes can just support electron and they get the developers and the applications for free. Which has been a major boon for Linux users and those looking to escape Microsoft's vendor lockin strategy. Today might be different, but in the past, nobody was intending to support Linux by creating electron apps. If they cared so much or it was so important, they would have been using Qt and GTK prior to Electron.
Amongst the apps mentioned as bloated on Windows were Teams, Discord (major offender) and WhatsApp. The latter is a curious case because a Universal Windows app existed (now being deprecated I guess?) that was more memory efficient than the Web wrapper.
And in case, someone in interested there is a terminal client for WhatsApp (and Telegram) called nchat. Sure, it is not at feature parity with web client (images is a big problem, for obvious reasons) but the simple fact that a third party client taking so little resources exists is a damning indictment of Meta. It shows that resource efficient clients are possible (provided the parent company junks the metaverse).
Probably "Native Linux apps are made in Linux-only bullshit by useless neckbeards, and probably only run in the terminal. Real actual apps like Discord made by a for-profit corporation have to be made cross-platform."
Depends, apple & linux are toe to toe in the research world.
Are discord,signal,matrix,vs code,slack tools used exclusively in the research world, or just general user programs? Because I'm asking about the research world's specific use of electron programs, not general use of electron programs by people with computers.
I welcome other's input but I thought this was a pretty clear cut case of Mac becoming popular. Why write a program for Windows and Mac when you can just make a website. Then Chromebooks in education sealed the deal.
Linux is only starting mainstream use now because of Europe's push for digital sovereignty and windows 10 end of life.
The real reason is it's a pain in the ass to deploy software in Windows. It's not like you can easily set up a server and put some packages on and have it just automatically apt update to that. Sure there's some "Enterprise" servers you could set up (and pay license fees for) that might work somewhat like that, but it's easier to just make it a web app and deploy to an internet webserver.
For product distribution, you need someone download an .exe, hope a virus scanner won't block it, maybe pay microsoft to sign it or whatever, hope the user has a compatible version of windows, and maybe they can get some working software. But then you have to make some mechanism to handle updates and hopefully that doesn't get blocked by some security software. So it's easier to make your software a web application.
Also putting out windows native applications means you might not be able to enshittify it later since people could continue to use the old version forever. It's weird to assume enshittification happens accidentally, but it's actually what some companies want to do their software because $$$. They want applications they can enshitty later, they don't make applications that may work on linux and whoopsie it just somehow got enshittified because of that... somehow.
But many times it's just best solution. If an application doesn't need access to anything on my system, I'd rather it be a web app. App does the thing I need, and when I'm done, I close the tab and we're done. Why install more software on my system if I don't need to?
The MacOS of 7.x< is nothing like the MacOS of the modern era (based on BSD). It is a drastic change and old software wasn't even compatible with the new one.
Most applications that are Electron either only support Windows or also want to support Android, iOS and Web. I assume there is some toolkit out there that supports everything, but honestly HTML5 is more well known and tested.
Yeah, but HTML5 needs a webbrowser that may have an Adblocker and then you cannot do tracking and you „cannot“ earn money. Also all (client side) features are potentially available for anyone and anyone can provide userscripts to improve your webpage for free.
If you wrap it in an App, it’s against the DMCA (or your local equivalent) to reverse the App and disable the tracking. Or make a better version, or enable some features that are purely client side and you just decided to paywall into a subscription to earn more money. Or generally do anything that might hurt your current or future profits.
Every operating system contributed to the bloat. Windows has Win32, OS X has Carbon / Cocoa, Linux has X11 and various widget libs that sit on top of it. So it has been a perennial nut to crack to make cross platform widgets - wxWidgets, QT, SWT/JWT/Swing on Java, XMLShell (Firefox), Electron, GTK/GTK#, winelib etc.
Throw mobile platforms into the mix and it's an unholy mess. Lowest common denominator is HTML and so the likes of Electron "wins" even though it's bloated and slow.
i actually don't have a problem with HTML, i just think that instead of every app shipping their own copy of electron, the operating system should provide basic browser functionality.
Linux and Mac use WebkitGTK, Windows uses Edge/Chromium, Android uses Chrome - as bundled in the respective OS, and you essentially have a frontend running on that webview communicating with a backend running locally via some special IPC protocol
No matter how fanboi-y a Linux or Apple user gets, they can never out fanboi a Microsoft fanboi. They take making shit up about competitors to a entirely new level.
More wishful thinking of this person than fact. The more to SPA and all the focus on javascript frameworks is more likely to be related to this shift than linux. But I get it, the writer knows that the ground is shifting and is trying to connect things that they and other people dislike into one big bad.
I wonder why so many people bundle Electron when you can make your app run in any browser. Like, you can totally write a program that just launches the browser and makes it load a site from lokal storage
Electron (and Tauri, and Neutralino) also offers some deeper OS integration stuff that browsers don't do or actively block; direct file management, USB peripheral control, that sort of thing.
But for something like Discord, you're totally right. You just need the browser.
You can do USB control over browser, at least enough for Keychron to do their keyboard configuration stuff as a web app. It's pretty cool actually, no need to install anything, even works on Linux
VSCode is super light on resources on linux, I have two running right now and they don't break the top ten on btop (often). It can be done right, rarely is, but it can be. Generally electron is badly used, probably a skill issue, seeing as the skill is locked behind useless documentation, proprietary BS and whatever, but the ppl who made it actually make it work, might be black magic or chicken sacrifice...
Someone's actually gonna take this seriously, and they're right.
It is a generic one at a forum. The screenshot is from the comment section of Windows Latest site.
Back in the day on Reddit, some subs had a rule where names had to be blurred or removed. Since then, it is reflex for me to just cut out the author's name (not that it mattered in this specific case).
@kirk781 no, it is not because of linux support. It's only because managers hiring web developers instead of desktop apps developers. Because.. managers do not see real difference, but see some stylish web design.
Microsoft ruined cross-platform desktop apps many years ago in early WPF/Sliverlight/XAML era by ceasing Moonlight project: https://en.wikipedia.org/wiki/Moonlight/_(runtime) https://web.archive.org/web/20120716033915/http://lists.ximian.com/pipermail/moonlight-list/2011-December/001392.html
So there is no reason to blame Linux that we do not have modern cross-platfrom toolkit for GUI apps.
Microsoft decided to make new XAMP/UWP incompatible with classic widgets GUI and kill classic GUI in WinRT/Win8 era, Microsoft decided to make XAML GUI Windows-only and cease mono developement entirely, not providing any GUI supportt
Regardless of the stuff that needs to be done for crossplatform development, building a native Windows version without looking at Linux isn't hindered by Linux at all. That's like saying you can't drive your car because another car exists.
That's such bullshit! Those supposedly cross platform shit are the least compatible softwares you can make! What can of idiot can pretend it's used because of Linux?
The problem is that mobile versions of the app is expected, and maybe also a web version. And then it should work on Mac as well. Linux is just a tiny fraction of the market share.
Each platform would require their own team if developed natively. That’s a huge headache to coordinate all features between the teams. Let’s build just one cross platform application which one team can be in charge over.
sometimes if you have nothing nice to say to that person, just post rocky horror .gifs. i really wish this site would have a .gif finder though. seriously!
Is it really "running natively" if it requires running through a translation layer? WINE is not an emulator, but it also isn't a native runtime library with a stable API, it's a translation layer translating a reverse engineered, unstable third party's API
To be fair. Linux starts of super light, but if used as a general OS it becomes the epitome of bloat.
Linux is like buying a car and just getting only the parking space.
If you want to use your car, first you have to install the door and interior package. Then you get inside and have to install the seat package. But the seat has adjustment levers and uses the gear shifter library because it has levers already defined.
Great now you also have a gear shifter too. But it turns out your transmission doesn't work on the new version of the library so you have to also install an older package in parallel, so now you have 2 gear shifters, no biggie.
Next up is the steering wheel, it uses the wheels package as a dependency (because both are round and can turn) so now you also have all the wheels. But those are summer tires, you need winter tires.
You get the winter tire package but it needs an older version of the rim package. Unlucky for you, the download for the older rim package is unavailable, but you're in luck. Some guy included that version of rims in his completed but unrelated car project. So you clone his car and rebuild the rim package yourself. You now have a whole extra car, but it's not yours.
By the time you got your one car ready to go, you have installed the parts for 7427 different cars, 27 complete vehicles and read 593 pages of documentation.
I think i get what you're saying...but its a pretty bad analogy. The way i am reading this is, most linux distros are a mish mash of various packages, window managers and apps. Many of which dont work well together, but that really hasnt been the case for the last 10-15 years. Basically when ubuntu and fedora stabilized.
this is just dumb and you should feel bad for spending so much time writing it
I don't think he did, though he may have touched it up. It's old. I remember seeing it in the 90s with a number of "if [OS] were an airplane" schticks along the same line. Unix was the one where passengers all brought parts and tools and assembled it on the runway.
You couldn’t be more wrong here, my Arch install has been my daily driver for years, and it’s sitting at a grand total of 846 packages. No reinstall. No avalanche of dependencies. No mythical fleet of 7,000 half-assembled cars in the garage. You don’t need to bolt on a crap-ton of packages just to get a working system....
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?
The real reasons often are:
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.
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.
Also works on mobile easier, just change some CSS
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
The most stable system is one that is out of support. No updates == No breakage! 😄
It’s very amusing to imagine devs carefully watching for an EOL/EOS date and starting to build software only after
I think this is the point of Debian stable, and also why some devs hate Debian stable.
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
Flatpak
AppImage
Snap
Hell, let's not forget
Python Perl
Java
POSIX
The first 3 are Linux only. It's irrelevant.
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.
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.
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.
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.
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.
Alright, here is ~25 GUI apps flatpak vs 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-checkerfor some reason doesn't check the/var/lib/flatpak/repodirectory which is usually another +1GiB in best case scenario.In my experience the issue is different flatpaks depending on different versions of gnome platform or mesa or whatever, so you have multiple versions of the same library.
I have plenty of storage though so I don't care that much.
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.
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.
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".
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
I don't know if it's still the case, but up to a couple of years ago, Flatpak was configured so that externally mounted folders were not accessible. I discovered that when Steam on flatpak refused to install games on my hdd, and it was quite frustrating to figure out how to enable it. Still, it's difficult to criticize how "bloated" are electron apps (they are) when I need to download 2GB or runtime for an 80MB telegram binary
Snaps integration is even worse as I've seen browser extensions state they straight don't work on snap's browsers. Also desktop integration on gnone (even files drag and drop between snaps) are broken on the ubuntu installations I tried.
Appimages have the least drawbacks and are my preferred methods between the three (at least they take less storage space than an equivalent Flarpak for some reason, but are still broken sometimes), yet they still miss a central package repository, and that's a big problem.
https://github.com/ivan-hc/AM
It's a package repository, but I would hardly call it "central"
I like having options
Flatpak is good. I say that as both a user of them and a dev of applications that are published as flatpaks.
You can even do inefficient UIs in Python using tkinter, which is part of the standard library in python.
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.
And now imagine yourself creating an UI in tkinter without an editor. Because that's what I did. It was absolutely horrible.
Probably faster than me even deciding the bg color tho
I didnt care how it looked, because I only wanted for it to be finished fast.
For efficiency, just use the cli. The user doesn't want it? Then I don't want the user.
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.
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
.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 :')
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
LOL, didnt know maui naming was taken before. Hilarious
@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
Winforms of all things haha. Eeuw xD
But thats flipping awesome and i love it! I know xamarin was wpf being cross platform with mono, but thats a dead horse thanks to microsoft haha
@DacoTaco Yes, it's Microsoft decided to kill classic win32 widgets and any XAML support in Mono, forcing new WinRT platform and not providing any GUI support in netcore. It's sad that nobody made some crossplatform WPF implementation for modern dotnet, Maui is not incompatible with existing source code, IIRC
That's basically Avalonia UI.
I believe Uno Platform is similar, but less of a WPF variant, and closer to Xamarin or MAUI in the style of Xaml that they use.
@hdsrob
>That’s basically Avalonia UI.
no, avalonia cannot help you run existing applications. Also. Avalonia is a crap, taking minutes to parse xml crap on poor hardware
Yes, there are many implementaion of WPF-like UI, but no implementation of existing Windows UI.
mono's winforms allows you run existing winforms apps without single line change or even without recompiling (just replace related System.Windows.* assembies)
Avalon is actually xaml and cross platform. Personally id rather have a razor format of gui code, but xaml is a good second. Its basically what maui was suppose to be
Does not MAUI compile to Linux, just that you need to compile on Windows?
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...
https://github.com/dotnet/maui
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.
Lazarus gang, this is your chance!
GTK is not accessible anywhere other than Linux and is therefore not a serious option outside of Linux.
GTK is available for windows. https://www.gtk.org/docs/installations/windows
It is. It’s just not particularly good outside of a X11/Wayland environment.
I think this being worked on though.
@jollyrogue @XenGi it is not particularly good outside of Gnome environment
Gtk2 and Gtk3 is fine outside of gnome. Gtk4 especially with Libadwaita is heavily focused on Gnome.
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.
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.
Thanks for the lesson
that's a lot of words to basically say "i'm a fucking idiot".
Wow, that's some serious misinformation.
Meanwhile Microsoft makes the start menu with React
That is the most punchable response I've seen in a while.
When you have a hammer, everything looks like a nail.
I feel like that reply would have fit better one comment level higher.
Very possibly. Oh well…
"... And that is how I used React as a database language."
~me presenting at a conference in 2026
Punchable is a bit far, probably wanna tone it down a bit, big guy.
Just kidding, but it's only funny and also is it this guys fault?
I don't even know if it's true, but in any case, the guy who tasked a react (native) developer on the start menu is responsible (not the developer).
Example: If I managed a product and hired a python developer and told them to do x, they would likely use python, right? (In this scenario, It is I the manager wjo failed everyone, not the developer).
Also the other commenter is correct. It's like the common saying "use the right tool for the job". The saying doesn't make sense, because the right tool is always the one you know how to use..
Didn't mean that literally 😁 I just thought it was funny to describe a written response as punchable. But the response was annoying.
It might not be the developer's fault, but him practically defending the choice by completely dodging the performance aspect is irresponsible to me. It's like he's ashamed to discuss it. Or doesn't have the knowledge to?
A good developer should speak up and say that they might not have the skill set required for the task. That's my opinion. Either that or learn the ropes but flag for extra time needed.
100% disagree. There are more suitable tools for certain jobs.
Hello I am looking for a job as a surgeon. Okay what tools do you know? Jackhammer. That's the only one you know? Yup. Mmkay then that's the right tool for surgery in your case, can you start Monday?
🫠
Imagine someone using Java to write a program that just runs several other commands in sequence. That should really be a script, and the developer should learn a sufficiently suitable shell scripting language.
But yeah, ultimately I agree, it's not his "fault". Especially if he flagged this to be something a bit out of the ordinary, and his manager(?) insisted. Then it's 100% not the guy's fault, for sure ong.
No way that's real. Tell me it's not real
Probably, but only because at this point I'm fairly certain reality itself must be a parody of something.
"I am a react developer"
I thought we are supposed to be language-agnostic after 3rd project.
In the era of tech evangelists? People pick 1 technology branch and make it their entire personality
That's still a stupid reason. I'm a .NET & MSSQL developer primarily, I'm not gonna shove C# in every project I write if it doesn't makes sense.
Two more projects to go, then!
This is what's wrong. Distilled.
Well, at least it's React Native, seemingly. Also from what I've heard it's only one section like rendering results from the web or some shit like that.
Tell me you have no idea how software development works without saying it...
I read it twice and it felt like word salad.
Tbh, it's not entirely wrong, which is the reason why it works so well as rage bait.
It's really not about Linux, but it is about supporting anything and everything out there with a single app. Use Electron and you can have the same app running on Windows, Mac, Linux, Android, iOS, your car, your game console, your smart fridge and in a website.
Of course the result sucks, but if you can cut development effort into a fraction while also supporting systems that you would have never supported otherwise, that's not a bad deal for businesses.
Show me how you never programmed anything without telling me
Software should be maintained, not built and forgotten about. Windows encourages the latter, which is just straight up bad practice
Fairly large chunks of Windows code are examples of the latter, in fact.
You dont even have to look at the code to see this. Just make one wrong click in a UI and youre directly getting dragged into a UI that hasn't changed since Windows XP.
But that's always a good sign that you've dug into the part that actually still works consistently! Once you pop some Windows 2000 era UI you know you've struck gold and need to note the path for next time (until Microsoft rearranges their settings for the 5th time this year of course)
Funnily enough I still look for the Control Panel before even attempting to find a setting in the Settings app.
The Control Panel is consistent, it works, and it hasn't changed in years. Meanwhile the Settings app gets rearranged every 2 months, with constant design changes, and it's also terribly slow on low end devices and VMs.
It's sad that Microsoft is "unifying" the Windows settings and killing the Control Panel in the process.
But hey built and forgotten works great with vibe coding… 🎉🎉
Some things should be replaced or updated to improve performance. However, I don't think Windows has ever done anything of the sort, I certainly can't think of any examples since Vista.
No, Windows encourages backwards compatibility, which tends to cause code to e forgotten about.
A hidden gem of stupidity and nonsense in the already pretty dumb tirade.
I hate the Windows API so much. There are like 100 million function that all start with a capital letter and take a kajillion arguments just to do the most simple thing imaginable (see
CreateThread). And there are twenty different typedefs for the same type (PSTR,LPSTR,tchar*all point tochar*). Also all variables and function arguments should start with their types, likehWindowif thewindowis aHANDLE.I hate this joke of a programming interface so much, I hope everyone sticks to programming with POSIX and platform-agnostic libraries.
EDIT: And also, did I mention that if you want to use it, you get all of it or none of it? It's literally a single header file named
Windows.h. You get just that and take it or leave it.The windows API documentation is a joke
Eh? When I did some Windows programming many moons ago, in the 2000s, MSDN was way above average for software documentation. Can't imagine they trashed it all.
you can also make it lean and mean right?
This is what too much windows does to your brain kids.
They must really like the taste of leather.
No.
They like the texture of leather.
Its the polish that provides the taste.
But once you read his words he's got a foot in the door. Then he's harder to ignore.
So maybe it's harder to ignore fools on social media. Which would make social media a kind of fool-enhancer.
I guess this is where blocking comes in. But that seems drastic.
Blocking is severe, but boy is my feed clean of morons (I think I've only blocked like 30 people on Lemmy).
You gotta try it. Very satisfying to click 'read all' on your inbox now and then to clear out notifications for new (hidden) messages from trolls you've blocked.
what a great way to create a set of echochambers with schizo worldviews
The user land API/ABI is stable to a fault in Linux. The kernel API/ABI is unstable.
Companies are cheap. They hired web devs then tasked them with building a desktop application rather then hiring people to write native apps. They had a hammer and used it to fix every problem they had.
macOS is just as affected by electron apps as a Linux is.
Electron is horrible, but it does bring apps to many an OS once Chromium is ported.
Open protocols or open APIs from the company would fix the non-native app problem.
It's the other way around. The kernel API stable to a fault, the kernel ABI isn't. If your application only relies on the kernel API you won't have many compatibility issues. If you rely on userland stuff such as C++ stdlib, GTK, QT, Python, ... Good luck.
I wasn’t clear and that seems to have cause some confusion. I was talking about the Linux kernel itself, and only the Linux kernel.
There are two sides to the Linux kernel: internal exposed to drivers and such, external syscalls exposed to the public. That’s what I was talking about.
All bets are off with 3rd party software. That’s just a general problem in software development. It’s not specific to Linux, and it’s why vendoring libraries is recommended.
This is why all the 3rd party software is frozen at a point-in-time with fixes backported in distros like Debian or RHEL. It fixes the problems of devs being mercurial. The distro is the SDK. It creates a stable base, and it works rather well.
Unfortunately, most software relies on libc and a compiler. Both of which can be problems, and both of which are external to the Linux kernel. There’s not much which relies on only kernel syscalls.
But the Electron Apps are resource intensive, namely RAM.
Well, RAM is dirt cheap anyways. /S
Edit: I bought this one for 180 in another site just a few months ago. It now costs as much what I paid for RAM, CPU + MOBO. Dodged a bullet not waiting for the black Friday "deals"
Further, if you get code into the kernel, anyone who breaks it needs to fix it. So it seems to me it's only a problem if you're trying to do something like maintain a proprietary driver without putting it into the kernel? Or something to that effect?
Basically. Out-of-tree drivers are annoying without an LTS kernel.
There are also out-of-tree drivers which don’t get mainlined for one reason or another even though they are FOSS. OpenZFS has this problem, and now so does bcachefs.
This is not even mental gymnastics at that point.
Mental... contortionist?
This is such a hilariously bad take. I like how "I can't use Win32 on Linux" morphed into "re-write the whole app in Javascript just so I can use Electron."
Meanwhile, Wine and QT are like: "am I a joke to you?"
I'll add that (IMO) a lot of applications are becoming increasingly malicious, although less-so in the desktop space. I'm happy that devs like this are forced to quasi-sandbox their crap into a browser. Actually, if anyone knows how to crack into an Electron app in order to restore local plugins, user-scripts, and sandbox security controls, let me know. Or just liberate the guts into a local web app instead so I can use a real browser? This trend could be very useful for local security if those features become available.
I can code in C on all 3 (more if you include BSDs). You would not believe how amazing my skills are to avoid platform specific dependencies in a language that predates all these OS.
How do you deal with platform specific stuff? I am talking about desktop API and friends. (If that's even a thing in your problem space). /gen
SDL or
#ifdefs.You can consider nappgui sdk which will handle it
https://nappgui.com/en/home/web/home.html
However because this is C, let’s just use libraries GLib/GTK is already cross-platform.
Code Example/Build process https://wrycode.com/gtk3-cross-compile/
There are other examples/libraries so it depends on what you need.
When I grow up I want to be like you
I only just realized the Proton and Electron naming schemes lol
Electron was developed to make Atom.
Add Lepton to the list!
Wow. I didn't realize this until you pointed it out. Thanks. TIL.
What kind of shit for brains asshole is still defending Windows in 2025?
And what kind of slavering mouth-breathing teoglodyte doesn't understand that Hannah Montana Linux negates all of these issues, will suck your dixk without hesitation, and lets you read news from four days from now.
Lololol
I'm pretty sure you guys just took the bait. This is either satire or ragebait.
I don't man, Hanlon's razor feels appropriate here.
The whole reasoning and especially MacOS exclusion are so contrived that it just has to be.
It feels they know too much to have an opinion that stupid.
There is no way to be sure. Either case, it can be a case of Hanlon's razor. "Never attribute to malice [in this case: baiting] what can sufficiently be explained by stupidity".
Could be a rage-bait but it REALLY does not seem like satire.
Could also be big tech propaganda.
Poe's Law
He's a magician, because reading this, I aged 10 years and grew a metastatic tumor.
Lame attempt at ragebait.
Aren't Qt and GTK cross platform? I have Dolphin and Kate running on my Windows work laptop.
As is wxWidgets and others.
Dear god, I had to write wxWidgets/C++ for Win32 last year for work and it was horrific. Never again, back to modern web standards for me. The irony is that it was justified as being "cross platform" but we never got around to actually making it work on Linux. Makes no sense, it should have been an internal web app. (Admittedly, this was for law enforcement software and they seem to love windows.)
Yeah, he doesn't know what he's talking about. There is a shitload of frontend developers that specialize in web standards and technologies. Electron was developed to take advantage of that deep pool of frontend developers. The side affect, is that other OSes can just support electron and they get the developers and the applications for free. Which has been a major boon for Linux users and those looking to escape Microsoft's vendor lockin strategy. Today might be different, but in the past, nobody was intending to support Linux by creating electron apps. If they cared so much or it was so important, they would have been using Qt and GTK prior to Electron.
Amongst the apps mentioned as bloated on Windows were Teams, Discord (major offender) and WhatsApp. The latter is a curious case because a Universal Windows app existed (now being deprecated I guess?) that was more memory efficient than the Web wrapper.
And in case, someone in interested there is a terminal client for WhatsApp (and Telegram) called nchat. Sure, it is not at feature parity with web client (images is a big problem, for obvious reasons) but the simple fact that a third party client taking so little resources exists is a damning indictment of Meta. It shows that resource efficient clients are possible (provided the parent company junks the metaverse).
Okay, how does this dude explain native Linux apps?
Probably "Native Linux apps are made in Linux-only bullshit by useless neckbeards, and probably only run in the terminal. Real actual apps like Discord made by a for-profit corporation have to be made cross-platform."
Thank God this guy got disliked to hell.
5 downvotes are absolutely nothing compared to that level of idiocy.
Screenshot might have been taken early
Who is Tod and why are we thanking him?
Abstraction layers? In MY messy pile of spaghetti ass code!?
It’s more likely than you think.
You wouldn't understand it, it's more of a messy pile of lasagna ass-code situation.
I'm glad I'm not this guy
Maybe you are, but we haven't found your worst take yet.
I don't mind systemd
I have no opinions. As long as my computer works, I barely care how.
Thats... Thats like a flat earther in computer stuff.
Do those really exist??
I know it gets thrown around a lot, but the Dunning-Kruger effect is real and applicable to people in all fields.
Clearly rage bait
"Raaaaah my 10 year old no-name laptop with a second-rate CPU and 4 gigs of RAM runs Windows like dirt 'cos Linux raaaah"
My 13 year old Thinkpad runs Linux great ‘cos Linux…
Sure, except that end user market share for MacOS is larger than Linux probably
Depends, apple & linux are toe to toe in the research world.
is that where you find a lot of electron programs?
There are indeed lots of Mac users at CERN. But CERN is mostly concerned with particles other than electrons.
Actually yes there too discord,signal,matrix,vs code,slack all these are electon
...
Are discord,signal,matrix,vs code,slack tools used exclusively in the research world, or just general user programs? Because I'm asking about the research world's specific use of electron programs, not general use of electron programs by people with computers.
Ah this one u meant, well they actually opposite works perfect on linux like MATLAB ,maple,scilab,Julia :)
I welcome other's input but I thought this was a pretty clear cut case of Mac becoming popular. Why write a program for Windows and Mac when you can just make a website. Then Chromebooks in education sealed the deal.
Linux is only starting mainstream use now because of Europe's push for digital sovereignty and windows 10 end of life.
Someone obviously missed their nap and is having a tantrum.
The real reason is it's a pain in the ass to deploy software in Windows. It's not like you can easily set up a server and put some packages on and have it just automatically apt update to that. Sure there's some "Enterprise" servers you could set up (and pay license fees for) that might work somewhat like that, but it's easier to just make it a web app and deploy to an internet webserver.
For product distribution, you need someone download an .exe, hope a virus scanner won't block it, maybe pay microsoft to sign it or whatever, hope the user has a compatible version of windows, and maybe they can get some working software. But then you have to make some mechanism to handle updates and hopefully that doesn't get blocked by some security software. So it's easier to make your software a web application.
Also putting out windows native applications means you might not be able to enshittify it later since people could continue to use the old version forever. It's weird to assume enshittification happens accidentally, but it's actually what some companies want to do their software because $$$. They want applications they can enshitty later, they don't make applications that may work on linux and whoopsie it just somehow got enshittified because of that... somehow.
But many times it's just best solution. If an application doesn't need access to anything on my system, I'd rather it be a web app. App does the thing I need, and when I'm done, I close the tab and we're done. Why install more software on my system if I don't need to?
I feel the opposite. I expect things NOT to work on linux.
Just wait until they figure out Mac has been an OS just as long as MSDOS
And that macos often breaks things because of new access/'security' policies hehe.
Also, to counter all of this : c++ & qt or .net and avalonia (because maui doesnt support linux.. )
KDE Maui does, but Microsoft Maui doesn't .
(Sorry, I know you were referring to Microsoft Maui, I was just annoyed at being reminded how Microsoft stole the name: https://www.phoronix.com/news/Microsoft-KDE-MAUI )
The MacOS of 7.x< is nothing like the MacOS of the modern era (based on BSD). It is a drastic change and old software wasn't even compatible with the new one.
Tbf I haven't used a MacOS in like 10 years. I thought about picking up a used Mac mini just to relearn MacOS again (or maybe just VM it)
I recently got a iphone work phone and it is so backwards compared to android. I don't understand apple anymore
Since when has competition ever spurred innovation? Pff
Most applications that are Electron either only support Windows or also want to support Android, iOS and Web. I assume there is some toolkit out there that supports everything, but honestly HTML5 is more well known and tested.
Yeah, but HTML5 needs a webbrowser that may have an Adblocker and then you cannot do tracking and you „cannot“ earn money. Also all (client side) features are potentially available for anyone and anyone can provide userscripts to improve your webpage for free.
If you wrap it in an App, it’s against the DMCA (or your local equivalent) to reverse the App and disable the tracking. Or make a better version, or enable some features that are purely client side and you just decided to paywall into a subscription to earn more money. Or generally do anything that might hurt your current or future profits.
Every operating system contributed to the bloat. Windows has Win32, OS X has Carbon / Cocoa, Linux has X11 and various widget libs that sit on top of it. So it has been a perennial nut to crack to make cross platform widgets - wxWidgets, QT, SWT/JWT/Swing on Java, XMLShell (Firefox), Electron, GTK/GTK#, winelib etc.
Throw mobile platforms into the mix and it's an unholy mess. Lowest common denominator is HTML and so the likes of Electron "wins" even though it's bloated and slow.
i actually don't have a problem with HTML, i just think that instead of every app shipping their own copy of electron, the operating system should provide basic browser functionality.
that sounds like Tauri!
Linux and Mac use WebkitGTK, Windows uses Edge/Chromium, Android uses Chrome - as bundled in the respective OS, and you essentially have a frontend running on that webview communicating with a backend running locally via some special IPC protocol
Microsoft got literally sued and almost dissolved as a company for that
But that's cause it wasn't FOSS, but instead a privately owned closed-source app
If an open standard was set, and agreed upon by most, then nobody would sue anyone
Heck, many Linux distros come with a browser preinstalled, but use a FOSS one to not hit that legal problem
Yeah, 1998 was definitely a time where Microsoft wasn't going to do that. They were (and are) in embrace, extend, extinguish mode
If anything they've ramped up on the EEE mode
AzurEEE
And what did we get for it? If you search "chrome install" in Edge it pulls a Janet, all like
To be fair... Chrome is a lateral move on Windows. If I were forced to use Windows I'd probably just use edge if I needed a chromium browser lol
Then that operating system gets hit with anti-trust
not if it's a library
Not if it's FOSS
No matter how fanboi-y a Linux or Apple user gets, they can never out fanboi a Microsoft fanboi. They take making shit up about competitors to a entirely new level.
Boy, imagine when that idiot finds out about iphones and android!
More wishful thinking of this person than fact. The more to SPA and all the focus on javascript frameworks is more likely to be related to this shift than linux. But I get it, the writer knows that the ground is shifting and is trying to connect things that they and other people dislike into one big bad.
I wonder why so many people bundle Electron when you can make your app run in any browser. Like, you can totally write a program that just launches the browser and makes it load a site from lokal storage
Electron (and Tauri, and Neutralino) also offers some deeper OS integration stuff that browsers don't do or actively block; direct file management, USB peripheral control, that sort of thing.
But for something like Discord, you're totally right. You just need the browser.
You can do USB control over browser, at least enough for Keychron to do their keyboard configuration stuff as a web app. It's pretty cool actually, no need to install anything, even works on Linux
Only in Chrome. Firefox deliberately didn't implement this.
@UnfortunateShort @kirk781 there is PWA for such apps
Welp, that's an opinion one can have. whatyoujustsaid.gif
Eithet ignorant or troling
I thought it was comendy 😅
VSCode is super light on resources on linux, I have two running right now and they don't break the top ten on btop (often). It can be done right, rarely is, but it can be. Generally electron is badly used, probably a skill issue, seeing as the skill is locked behind useless documentation, proprietary BS and whatever, but the ppl who made it actually make it work, might be black magic or chicken sacrifice...
Someone's actually gonna take this seriously, and they're right.
There's Stretchly, a break reminder tool, so has to be always running. Made with Electron, but surprisingly takes like 20 MB of memory.
There’s something to be said for its scripting accessibility, too. Hence the many fabulous VSCode extensions.
You need to put this in clear [JOKE] tags, otherwise they'll never get it.
Fascinating. Please carry on.
Yeah, not because they saw a way to develop for Win/Mac/Linux/Android/IOS all at the same time and went yeah, we'd take some of that.
Naw, They REALLY wanted to dip their toes in that 2013 extra 1% of traffic pool.
Why did you cut out the author's name? :)
It is a generic one at a forum. The screenshot is from the comment section of Windows Latest site.
Back in the day on Reddit, some subs had a rule where names had to be blurred or removed. Since then, it is reflex for me to just cut out the author's name (not that it mattered in this specific case).
I found the article and the comment, if you're curious:
https://www.windowslatest.com/2025/12/07/ram-prices-soar-but-popular-windows-11-apps-are-using-more-ram-due-to-electron-web-components/#comment-6806399879
@kirk781 no, it is not because of linux support. It's only because managers hiring web developers instead of desktop apps developers. Because.. managers do not see real difference, but see some stylish web design.
Microsoft ruined cross-platform desktop apps many years ago in early WPF/Sliverlight/XAML era by ceasing Moonlight project:
https://en.wikipedia.org/wiki/Moonlight/_(runtime)
https://web.archive.org/web/20120716033915/http://lists.ximian.com/pipermail/moonlight-list/2011-December/001392.html
So there is no reason to blame Linux that we do not have modern cross-platfrom toolkit for GUI apps.
Microsoft decided to make new XAMP/UWP incompatible with classic widgets GUI and kill classic GUI in WinRT/Win8 era, Microsoft decided to make XAML GUI Windows-only and cease mono developement entirely, not providing any GUI supportt
Regardless of the stuff that needs to be done for crossplatform development, building a native Windows version without looking at Linux isn't hindered by Linux at all. That's like saying you can't drive your car because another car exists.
I have this sudden urge to do an FLTK project.
That's such bullshit! Those supposedly cross platform shit are the least compatible softwares you can make! What can of idiot can pretend it's used because of Linux?
Imagine the stupidest person on earth. Now realize this guy to the right of that.
I still have a Google pixel book that basically is just online only.
The problem is that mobile versions of the app is expected, and maybe also a web version. And then it should work on Mac as well. Linux is just a tiny fraction of the market share.
Each platform would require their own team if developed natively. That’s a huge headache to coordinate all features between the teams. Let’s build just one cross platform application which one team can be in charge over.
The fun thing is that those supposed cross platform framework also require a full team for each platform.
Has someone schooled 'em yet?
sometimes if you have nothing nice to say to that person, just post rocky horror .gifs. i really wish this site would have a .gif finder though. seriously!
Lol scrub
Guh
Sir or madam or Xir, did you forget to put a /s in that title?
That's cute
@kirk781
this is incorrect. #win32 applications run natively on #linux with #wine.
Is it really "running natively" if it requires running through a translation layer? WINE is not an emulator, but it also isn't a native runtime library with a stable API, it's a translation layer translating a reverse engineered, unstable third party's API
To be fair. Linux starts of super light, but if used as a general OS it becomes the epitome of bloat.
Linux is like buying a car and just getting only the parking space.
If you want to use your car, first you have to install the door and interior package. Then you get inside and have to install the seat package. But the seat has adjustment levers and uses the gear shifter library because it has levers already defined.
Great now you also have a gear shifter too. But it turns out your transmission doesn't work on the new version of the library so you have to also install an older package in parallel, so now you have 2 gear shifters, no biggie.
Next up is the steering wheel, it uses the wheels package as a dependency (because both are round and can turn) so now you also have all the wheels. But those are summer tires, you need winter tires. You get the winter tire package but it needs an older version of the rim package. Unlucky for you, the download for the older rim package is unavailable, but you're in luck. Some guy included that version of rims in his completed but unrelated car project. So you clone his car and rebuild the rim package yourself. You now have a whole extra car, but it's not yours.
By the time you got your one car ready to go, you have installed the parts for 7427 different cars, 27 complete vehicles and read 593 pages of documentation.
I think i get what you're saying...but its a pretty bad analogy. The way i am reading this is, most linux distros are a mish mash of various packages, window managers and apps. Many of which dont work well together, but that really hasnt been the case for the last 10-15 years. Basically when ubuntu and fedora stabilized.
What an absurd and incorrect analogy.
I've been using Linux for 10 years and haven't had this trouble.
I currently use endeavour, but there's plenty of out of the box distro.
this is just dumb and you should feel bad for spending so much time writing it
I have had arch installed on this laptop for 10+ years
today I look at the state of drive space
the OS is at a little less then 37GB of which 18.5GB are cached installs from pacman
cleaning the cache is as simple as paccache
10 years this install has been on this laptop and I use it daily.
Where is the bloat?
I don't think he did, though he may have touched it up. It's old. I remember seeing it in the 90s with a number of "if [OS] were an airplane" schticks along the same line. Unix was the one where passengers all brought parts and tools and assembled it on the runway.
oh, copypasta... even worse!
You couldn’t be more wrong here, my Arch install has been my daily driver for years, and it’s sitting at a grand total of 846 packages. No reinstall. No avalanche of dependencies. No mythical fleet of 7,000 half-assembled cars in the garage. You don’t need to bolt on a crap-ton of packages just to get a working system....