Core Slack, Discord technology Electron now supports Apple Silicon

Posted:
in General Discussion
The Electron framework that lets web developers more easily develop cross-platform apps has now been updated to work on the new Apple Silicon M1 Macs.

Electron
Electron


Developers of software such as Slack and Discord, who use Electron to create Mac version, can now update their apps to run on Apple Silicon. The latest release of the Electron frameworks includes a new version that has been optimized for the M1 processor.

"The Electron team is excited to announce the release of Electron 11.0.0!" said the company in a support document. "The release is packed with upgrades, fixes, and new support for Apple's M1 hardware."

"Beginning in [this] Electron 11," it continued, "Electron will be shipping separate versions of Electron for Intel Macs (x64) and Apple's... M1 hardware (arm64)."

The full release notes do say that the Apple Silicon support is "experimental." However, the company separately notes that it is continuing to work with the new processor.

"In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8," it says. "Although we are careful not to make promises about release dates, our plan is to release new major versions of Electron with new versions of those components approximately quarterly."

The use of Electron to create versions of apps to run on the Mac is separate to Apple's similar-sounding Catalyst project. It has previously produced performance improvements in apps such as Slack, though.
dewme

Comments

  • Reply 1 of 13
    And there went all the performance improvements.... (sigh)
    elijahg
  • Reply 2 of 13
    ajmasajmas Posts: 579member
    And there went all the performance improvements.... (sigh)
    Not really... People would have been running these apps under Rosetta anyhow, so by having the NodeJS engine (V8) native will likely improve performance. 
    dewme
  • Reply 3 of 13
    Rayz2016Rayz2016 Posts: 6,957member
    And there went all the performance improvements.... (sigh)
    There’s no feeling like the crushing disappointment of downloading the new whiz-bang app hotness you’ve read about, only to discover to discover it’s an Electron app with a UI only its mother could love. 
    edited November 2020 focherbeowulfschmidtelijahgtokyojimu
  • Reply 4 of 13
    jimh2jimh2 Posts: 355member
    Cross platform means less performance in every single case except for command line tools. If it is my choice it is native only.
  • Reply 5 of 13
    auxioauxio Posts: 2,333member
    Rayz2016 said:
    And there went all the performance improvements.... (sigh)
    There’s no feeling like the crushing disappointment of downloading the new whiz-bang app hotness you’ve read about, only to discover to discover it’s an Electron app with a UI only its mother could love. 
    And little to no integration with things like drag and drop/copy and paste, iCloud Keychain, Apple Pay, dark mode, etc.
    elijahgtokyojimu
  • Reply 6 of 13
    melgrossmelgross Posts: 33,035member
    I’ve never been fond of cross platform development because it necessarily means developing to the lowest common dominator. I’ve never really had love for Java because of that. Adobe’s cross platform development tools are in the same boat.

    I can’t be mad at developers though, it’s their livelihoods after all, and the best for them is to get their work as widely distributed as possible. But that doesn’t mean we have to get it I’ll on,t do it if there’s nothing else available that does what that app does, and if I later find something that does, I’ll stop using it.
  • Reply 7 of 13
    elijahgelijahg Posts: 2,333member
    All the Electron stuff eats RAM and CPU cycles, it's hideously inefficient. Whoever though it would be a good idea to write desktop apps in JS should be removed to somewhere they can never inflict such horribleness on the world again. The ever higher levels of abstraction and interpreted vs compiled code is one of the reasons a program that once ran rapidly on a 400MHz G3 now requires a 3Ghz i5.
  • Reply 8 of 13
    HapHap Posts: 9member
    ajmas said:
    And there went all the performance improvements.... (sigh)
    Not really... People would have been running these apps under Rosetta anyhow, so by having the NodeJS engine (V8) native will likely improve performance. 
    I couldn't get Discord to run under Rosetta - just a completely blank Window. So I used iMazing to get the .ipa file from my iPad and copied it over to my MBA. Works well enough (the iPad version is not visible on the Mac Store on an M1 computer).
    tokyojimu
  • Reply 9 of 13
    I'd prefer that they optionally ship a Universal Binary. I understand that it would be bloated but it is only disk space not runtime bloat. I guess some very small SSDs might be constrained but for most of us, disk space is not at a premium.
  • Reply 10 of 13
    Rayz2016Rayz2016 Posts: 6,957member
    auxio said:
    Rayz2016 said:
    And there went all the performance improvements.... (sigh)
    There’s no feeling like the crushing disappointment of downloading the new whiz-bang app hotness you’ve read about, only to discover to discover it’s an Electron app with a UI only its mother could love. 
    And little to no integration with things like drag and drop/copy and paste, iCloud Keychain, Apple Pay, dark mode, etc.
    Yes, which is even worse. 
  • Reply 11 of 13
    dewmedewme Posts: 3,827member
    Rayz2016 said:
    And there went all the performance improvements.... (sigh)
    There’s no feeling like the crushing disappointment of downloading the new whiz-bang app hotness you’ve read about, only to discover to discover it’s an Electron app with a UI only its mother could love. 
    I like Slack and I like VS Code. The functionality of Slack for multithreaded group collaboration is about 1000% better than trying to use a traditional email program to do the same thing. They nailed the functionality for the intended purpose which is why Microsoft and Google basically copied what Slack brought to the forefront. Slack’s integration with third party tools like Google Calendar and Trello is a big part of Slack’s popularity, especially amongst product developers. I don’t have any issues with the UI and I don’t check the Activity Monitor to see how much CPU it’s using. To be fair, if any app were to check on my activities, to see how often it’s just sitting there idle waiting for me to do something, it would know that I am definitely the weakest link in the computing chain. 
  • Reply 12 of 13
    jimh2 said:
    Cross platform means less performance in every single case except for command line tools. If it is my choice it is native only.
    That’s not how any of this works. 
    fastasleep
  • Reply 13 of 13
    elijahg said:
    All the Electron stuff eats RAM and CPU cycles, it's hideously inefficient. Whoever though it would be a good idea to write desktop apps in JS should be removed to somewhere they can never inflict such horribleness on the world again. The ever higher levels of abstraction and interpreted vs compiled code is one of the reasons a program that once ran rapidly on a 400MHz G3 now requires a 3Ghz i5.
    This is also not how any of this works. JavaScript code is absolutely compiled in the JIT compiler and run on a VM just as Java does. JavaScript is a very performant language that exposes hooks to native functionality via the V8 instance. It’s capable of running threaded and background processes and elegantly handling asynchronous tasks. Poorly written code exists in any language. This has absolutely no bearing on the 400mhz g3 vs 3ghz i5 chips. 

    What you might think of as slow javascript is typically the throttling done by browsers to keep the power usage down to a reasonable level. The same was true for Flash plugins and Java applets. Unmarried to the browser, JavaScript is incredibly fast by comparison. Also, as i said, it’s actually running a C code beneath the surface in the V8 engine. 

    If Electron is slow, or bogs, it’s because of some goofy bottleneck they wrote into the code, not because of the language used and abstractions from bare metal. 
    fastasleep
Sign In or Register to comment.