> However, assertions that web apps are inherently inferior and that web apps are only written by people who couldn't bother to learn native technologies is at best ignorant and at worst lacking empathy with the requirements and constraints, and in turn with end users empowered with choice.
Well, "inferior" is always a subjective claim. The real problem with Electron, besides perhaps resource consumption, is that web apps are not native apps and native apps have all kinds of idioms, integrations, etc. A selling point of Electron is that it has "native menus." That's it. Just native menus.
They do not have, for example, proxy icons. They usually don't have system-wide services integration. They can't be automated with AppleScript. The print dialog are almost always weird, etc.
There are similar idioms on Gnome, KDE, etc. Think about header bars or Adwaita in Gnome. Or ssh filesystem support in KDE.
All these things make users more productive. If you really know your way around a desktop environment, and you know all the tricks, you can be massively productive with native apps. You'll never be similarly productive, however, with even the best Electron apps.
The mistake the author is making here is conflating a "good" app in isolation with a good app in a desktop environment. An Electron app which is an amazing app in isolation, with thoughtful design and efficient code and useful features, is always a bad app in any actual desktop environment. Putting an Electron app in MacOS or Gnome or KDE is like putting gummy bears in tacos or lasagna. Gummy bears are good. Tacos are good. But they don't belong together.
So where are Electron apps actually good? I'm guessing ChromeOS. Otherwise, they always kind of suck, even the $25k Electron apps at Bloomberg. And while I hesitate to make blanket statements, I have yet to use a single Electron app I actually want to use, ever. They're always, and this is without exception, garbage on any desktop environment I actually want to use. Full stop.
Well, yes and no. I think there would be no Electron Apps if the native desktop sdk/api/frameworks wouldn’t be garbage.
On Windows it’s a total mess, Win32/WPF/UWP and now what ever their fancy is (I think it’s Win32 again?).
Linux the same, so many differ ent things like kde/gnome or whatever. I think without electron there wouldn’t even be many nativ apps for Linux. And MacOS? Well can’t really say anything here because last time I tried doing some native development there, XCode was just too horrible and I stopped. Maybe Cocoa/SwiftUi is ok, I don’t know.
For me it’s like we replaced garbage with other garbage. The one garbage is for developers and the other for end users. I think most end users doesn’t even care, like what’s apple script? I just want to listen to music. I also think the majority of people doesn’t even have a printer anymore?
So the benefits of native apps are just for a small fraction of users. I would love to see more native apps but I understand why developers choose not to do it.
I'd say Electron apps would exist regardless of the native toolkit quality. The business case is that you're probably already building a website, and if that's the case, why not offer native apps too with almost no added development time? The value of Electron is that you don't have to hire development teams for each platform.
And yes, Windows development is a mess. Mac less so. KDE and Gnome have their strengths and weaknesses. Ask around the average Mac, Gnome, and Windows user what they think of Electron apps. Windows users are probably the most positive, because their desktop experience is garbage anyway.
Does that make JavaScript actually better? Win32/WPF/UWP meet Angular/KendoUI/Sencha. React and Vue are slightly less messy, admittedly. But it's still a very fragmented landscape.
Well, "inferior" is always a subjective claim. The real problem with Electron, besides perhaps resource consumption, is that web apps are not native apps and native apps have all kinds of idioms, integrations, etc. A selling point of Electron is that it has "native menus." That's it. Just native menus.
They do not have, for example, proxy icons. They usually don't have system-wide services integration. They can't be automated with AppleScript. The print dialog are almost always weird, etc.
There are similar idioms on Gnome, KDE, etc. Think about header bars or Adwaita in Gnome. Or ssh filesystem support in KDE.
All these things make users more productive. If you really know your way around a desktop environment, and you know all the tricks, you can be massively productive with native apps. You'll never be similarly productive, however, with even the best Electron apps.
The mistake the author is making here is conflating a "good" app in isolation with a good app in a desktop environment. An Electron app which is an amazing app in isolation, with thoughtful design and efficient code and useful features, is always a bad app in any actual desktop environment. Putting an Electron app in MacOS or Gnome or KDE is like putting gummy bears in tacos or lasagna. Gummy bears are good. Tacos are good. But they don't belong together.
So where are Electron apps actually good? I'm guessing ChromeOS. Otherwise, they always kind of suck, even the $25k Electron apps at Bloomberg. And while I hesitate to make blanket statements, I have yet to use a single Electron app I actually want to use, ever. They're always, and this is without exception, garbage on any desktop environment I actually want to use. Full stop.