Why the dislike of Electron apps?

I really don’t get the whole dissatisfaction with electron thing. As a programmer myself it’s appealing because of the cross platform ability and the apps are not too different from standard apps to use. Or at least I don’t find the differences upsetting.

Sure it’s not the same experience but , at least for me, it’s not a bad experience.

So why do so many people dislike them?

Is it because of a lack of keyboard shortcuts? Something else?

2 Likes

I know an entire group of developers that absolutely despise electron (mostly due to high RAM usage, causing poor performance).

3 Likes

For me, it’s how long it takes to load. Most electron apps take several seconds for even an empty window to appear. That provides a mental ‘weight’ to using the app that I dislike.

That being said, I believe most people who dislike Electron apps is due to placement of menu bar items, keyboard shortcuts, and general app organization being inconsistent with native apps. If there are actions that are the same that you have to do in apps but they all do it differently, the overhead for doing the action goes up.

@anon54919170’s comment too is relevant. Not really when you have one or two apps running on Electron, but if every app did? I imagine it would slow down your computer a lot. (I’m projecting here), developers who dislike electron probably don’t dislike electron itself, but the implications of every app being made with electron.

I think the outcome like any software depends on the skill of the developer. Obsidian is the electron app I use continuously, and it barely registers on CPU and RAM usage. Registers well below many native apps. OTOH, DEVONthink is a resource pig.

Examples?

1 Like

Personally I prefer native apps over cross-platform apps (like Electron apps) since the latter:

  • often don’t support the standard menu structure, menu commands & keyboard shortcuts
  • don’t use standard controls, or only imitate their look but not their behavior
  • behave differently when navigating text inside text fields and text views
  • often don’t support system features (like spelling/grammar, services, AppleScript/automation)
  • as a result are, often harder to integrate with other Mac apps (esp. native ones)
4 Likes

I don’t like Electron as much because of performance, UI lag/delay and bad and/or ugly UI conventions.

There’s some amelioration in that Electron apps can load Native Node Modules that in turn can load C or C++ code that performs very well. As understanding of high performance electron development spreads, we’re seeing apps improve from companies that have the engineering culture to support it. I believe Visual Studio Code was the first major Electron app to popularize the benefits of this approach.

However, the interface issues remain, and most small teams will probably never mature their Electron app to high performance unless they freeze features.

1 Like

Honestly, a lot of Mac app keyboard shortcuts are ridiculous.

You’re sitting there looking at your app. There’s no cursor, you’re not in a text field, you’re just about to do some thing. So you have to press ⌃⇧⌘-C (or whatever) four keypresses to do one thing.

Now, take an app like Amazing Marvin. Again, you’re sitting there just looking at the window. Want to see the calendar? Press C. Want to now see the calendar’s configuration? Press C. Close it? Press Esc. Want to see the Strategies? Press S. Etc. You just did four things with four keystrokes.

I don’t have any trouble with Electron app load times or responsiveness either. And really, how many times do people open and close apps in a day?

Load times (counting Mississippis)
Marvin - 5s
Obsidian - 3s

DEVONthink - 8s
Apple Mail - 7s

Edit: homophones get me every time.
2 Likes

The only Electron application I am aware of is MS Teams. Starts fast enough, high integration not necessary, shortcuts don’t matter. Yes, high memory consumption. But if it makes easy for MS to deploy a macOS version, why not? Maybe Electron is not bad for such one-trick ponies.

And I think Atom is also Electron…here do you definitely notice it’s sluggish when starting.

On my 2015 MacBook, most Electron apps are so slow compared to native ones, I just avoid them rather than go insane trying to get anything done. On my 2020 iMac they feel fine and zippy.

It’s also a hardware and accessibility issue.

Electron is susceptible to a lot of the security issues that you get in web content but with none of the sandboxing that browsers developers have worked hard to implement.

That being said, cross-platform is the future of computing.

1 Like

I hate having a lot of windows open. It feels incredibly cluttered (even when I’ve spread them over Spaces). So, I often use Quitter or manual close apps pretty much the moment I don’t use them anymore.

This isn’t specific to Electron either. It really bothers me how long it takes for all browsers to just show the window.

Perhaps if I had an M1 Mac this wouldn’t be a problem :grinning_face_with_smiling_eyes:

1 Like

That’s fair. I use Gmail keyboard shortcuts in Mimestream instead of Apple shortcuts, myself. However, overall I like cmd+based shortcuts because many of them are found in multiple apps, and you can consistently trigger them while you’re focused on a text field.

I’m more concerned about interface smoothness than load time, but you’re right that Obsidian performs well. Shida Li is an outstanding developer. Marvin, not quite so much, but it’s a very cool project and I’m glad they prioritize features over optimization. :slight_smile:

1 Like

Can you explain further. I don’t see why any electron app is any less secure than any other app running on your own machine.

On my 2013 iMac ALL apps were incredibly slow until I repalced the internal hard drive with an SSD one. Now everything is much faster from launching to booting to just general operation. I see no difference between native and electron apps at all.

On the close and open of apps, I tend to open up my full app set I plan to use and leave them all open and I do not use spaces. I stack windows and quickly mouse to the corner I leave visible to switch between app windows. A typical set for me has Safari, Calendar, Mail, DEVONThink, Omnifocus , PyCharm, Libre Office, Zotero, Obsidian, Firefox with my SQLIte tools and Scrivener all open at once on only 2 screens (I used to run that set just on the one iMac screen). I’m never waiting for an app in that scenario.

1 Like
  • They don’t work with standard macOS text replacement and autocorrect
  • The interface is really different from macOS standards
  • They eat battery and CPU
  • They’re not really secure

And I’m saying this as a huge Obsidian user. But I really wish it wasn’t Electron.

I’m hoping Apple intends to release SwiftUI to Windows and beyond to provide a decent crossplatform environment that would take Electron’s place.

5 Likes

I’m not an Electron expert, but this is an example of the sort of security bug class that I hear about in Electron: https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/cve-2018-1000136-electron-nodeintegration-bypass/

The prevailing opinion among my colleagues who are more versed in the technical details of web-app vulnerabilities than I am is that Electron apps are subject to a lot of similar issues as things running in a browser, but have similar access to your system as native applications. That’s a bad combination.

4 Likes

How do I tell if an app i’m using is an electron app?

Yes, the custom menu bars and all that stuff can really bog down your system.

UWP developers hate electron.





Discord is an awful electron app. Stick to the website.

Check online and maybe take a look at the menu bar to see if it is custom or not.

2 Likes

I can keep SublimeText and DEVONThink open all day and use them as needed with Normal battery drain.

Trying the same with VSCode and other electron apps drain my battery much faster.

Pre pandemic I worked enough without a spare battery and/or electric where having the battery work all was important.

This might help to find Electron Apps on your system:

find /Applications -name "*Electron Framework*" | cut -d/ -f3 | sort -u | cut -d. -f1

I’m one of those developers who does not like Electron Apps, but ironically I heavily depend on two of them (Slack, Teams) to do my work from home, due to COVID-19 measures in my country…

8 Likes