Stop saying that Electron apps are cross platform!

They only run on one platform, the web. In order for people who use Linux/macOS/Windows to be able to run them, they require a translation layer, the Electron runtime, that they all ship with.

It's like when TeamViewer used to ship the Windows version with a copy of Wine as the Linux version. You can run that on Linux indeed, but that's neither a Linux app nor a cross-platform one.

@bugaevc It's exactly how Java apps require the JRE, and C# apps require whatever that thing was called, and how Perl, Python, Node and all other languages require their respective runtimes. Even C applications will often require libc and other libraries, and they don't even always come statically compiled.

@deshipu Java apps aren't native either (except on Android), Electron is just more popular these days

Requiring libc (or other libs, or a Python runtime, or even gjs) from the system is fine, that is how it should be! OTOH if a C program comes statically compiled against some libc and an alien toolkit, it's not native, too

@bugaevc I see. How about computer games? Are they "native" when they use OpenGL or whatever for display?

@deshipu I'm not a gamer nor do I know as much about internals of games and game engines, but... yeah, I haven't seen many native games. They're all use OpenGL alright, but then they bring with them a whole gaming framework (Unity or whatever) and even their own C# interpreter — and even 2D pieces of their UIs look and behave nothing like the platform's native widgets.

Follow

@deshipu
There are GameKit and SceneKit on Apple platforms, so you can use those, but of course if you roll your own UI in a full-screen SCNView it's not going to look native either.

@bugaevc And I suppose you wouldn't consider a KDE application as native on a GNOME desktop, or a TK app as native to, say, WindowMaker, either, am I right? Possibly even GTK1 not native to GTK2?

@deshipu this is where it starts to get blurry since there is no precise criteria for whether something counts as native or not. KDE apps still use Qt that ships with my system; and GNOME devs *try* to make Qt look & feel as native as possible on GNOME (github.com/FedoraQt/adwaita-qt) though of course it's never going to be as native as GTK.

(1/2)

@deshipu WindowMaker is just a window manager, not a platform (unlike GNOME and KDE, and, well, GNUstep), though it itself uses a NeXT-style UI.

Again, GTK2 itself is not a platform; it's a toolkit. A toolkit is a part of the platform, the most important part, perhaps, but still. There is system UI, there are UI guidelines (HIG). MATE, GNOME and Elementary all use gtk3, and yet look at how different they are. NeXTSTEP and Mac OS X (Aqua) use Cocoa and yet look nothing alike.

(2/2)

@bugaevc So basically you are demanding that people write applications using your favorite set of tools.

@deshipu I cannot demand anything, but I myself highly prefer native apps that target the platform that I use and love, be it GNOME, KDE, Android or whatever.

If I have no other choice, I'll use a Windows app via Wine (or a macOS app via Darling 😉), or even an Electron app via Electron, but surely I won't enjoy it as much.

And surely KDE users don't enjoy using GNOME/GTK apps as much as they enjoy using apps that target KDE.

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!

We adhere to an adapted version of the TootCat Code of Conduct and follow the Toot Café list of blocked instances. Ash is the admin and is supported by Fuzzface, Brian!, and Daniel Glus as moderators.

Hosting costs are largely covered by our generous supporters on Patreon – thanks for all the help!