11 ms·
Electron 11.0 released with support for Apple Silicon
- gigatexal 6y agoI hope the new M1 Macs stay cool to the touch when running electron apps still. They should now that this runs natively.
- therealdrag0 6y agoWhy would Electron run anymore or less natively with this change?
- johncolanduoni 6y agoWithout this (assuming Rosetta 2 support was ironed out), the code generated by JITing JavaScript would also need to go through translation from x86 to ARM64.
- mcintyre1994 6y agoI’m guessing Electron apps worked without explicit support via Rosetta 2, but with explicit support the performance should be better. And - speculating - I’d guess that there’s quite a lot of code in Electron apps that isn’t AOTed by Rosetta, and that it would have more performance implications there than a native x86 Mac App would just because it has a lot of ongoing transpilation to do. With this change they can cut out Rosetta 2, and run direct on ARM.
- The_Colonel 6y agoThe problem is that Electron is essentially 2 big VMs - you can AOT the VM code, but not the code VMs produce. So yes, rosetta performance loss on electron apps would be significantly larger than on native x86 apps. (I'm probably going to find out since I don't plan to ship ARM build of my electron app)
- mcintyre1994 6y agoOut of interest how come you don't plan to ship an ARM build? I naively didn't really realise there were any tradeoffs for the developer here.
- The_Colonel 6y agoI'm not a mac user so I don't own one. Currently I cross compile Mac (and Windows) build on a linux machine and from time to time test those builds in a VM (not sure about the legality). I don't think this will be possible with ARM build - cross compilation probably won't be supported for ARM, I can't run ARM VM on my x86 dev machine, there's the new requirement for mandatory notarization (possible only on mac) ... maybe more but that's enough anyway.
- camhart 6y agoRosetta 2 is Apple's latest iteration of their Rosetta technology, which allows you to run x64 Intel applications on their new arm64 Apple Silicon hardware. Although we believe that x64 Electron apps will run under Rosetta 2, there are some important things to note (and reasons why you should ship a native arm64 binary). * Your app's performance will be significantly degraded. Electron / V8 uses JIT compilation for JavaScript, and due to how Rosetta works, you will effectively be running JIT twice (once in V8 and once in Rosetta). * You lose the benefit of new technology in Apple Silicon, such as the increased memory page size. * Did we mention that the performance will be significantly degraded? https://www.electronjs.org/blog/apple-silicon#what-about-rosetta-2 https://www.electronjs.org/blog/apple-silicon#what-about-ros...
- gigatexal 6y agoNot having to run via Rosetta. Aka natively like the announcement implies.
- mimsee 6y agoCouldn't the new Macs run React Native ... natively, by the way of Xcode, instead of running React inside an electron housing?
- tlrobinson 6y agoYes, but so could x86 Macs: https://github.com/microsoft/react-native-macos https://github.com/microsoft/react-native-macos The processor architecture is less of a barrier than the application framework it’s built on (i.e. Cocoa) (I haven’t used this, but I have used React Native on mobile and web)
- trevyn 6y agoUsing Catalyst is another option: https://github.com/react-native-community/discussions-and-proposals/issues/131 https://github.com/react-native-community/discussions-and-pr...
- DenseComet 6y agoFrom their blog post about Apple Silicon[1] > In the future, we will release a package that allows you to "merge" your arm64 and x64 apps into a single universal binary, but it's worth noting that this binary would be huge and probably isn't ideal for shipping to users. It seems like things are going to get a bit confusing with Electron apps, and with the number of Electron apps that exist, this transition might not be as transparent as Apple might have hoped. [1] https://www.electronjs.org/blog/apple-silicon https://www.electronjs.org/blog/apple-silicon
- exacube 6y agohow much of storage on macs is actually used up by code though?
- Hamuko 6y ago>it's worth noting that this binary would be huge and probably isn't ideal for shipping to users Funny, because that's what I've always considered of Electron. I wonder where the breaking point for Electron is?
- yoz-y 6y agoGiven that a run of the mill game weights north of 50 gigs, I don't think an additional 100 or so megs per app would be noticeable.
- Hamuko 6y agoWeirdly enough I don't actually have that many 50 GB games installed on my Macs. I do have a 300 MB chat application though.
- Chyzwar 6y agoWell, there is not so many games for Mac.
- croes 6y agoIt's a difference if I have a 50GB game with high res textures or a simple app with 100MB which as a native app would only need less than 1MB. Web technologies are more and more about developer convenience instead of user convenience.
- eksu 6y agoI hope applications like Teams, Discord, and others that have iOS / iPadOS apps allow users to use those rather than electron versions.
- hooch 6y agoI hope so too. I tried their Electron apps and they start on Apple Silicon but no window ever opens. Simply being able to run the iOS versions would be great.
- shp0ngle 6y agoI tried to use the JIRA "Catalyst" app (what is JIRA app in the Mac App store) and... it's bad. It's fast, much faster than the web version. But otherwise pretty bad. I kept being frustrated with it too much and switched back to web. And Catalyst is supposed to be "more native" than iOS apps running on macOS directly...
- jamil7 6y agoI think Catalyst is basically positioned as a stopgap for iOS developers to get something running on macOS, you can optimise it from there and later split out some code for a specific macOS target.
- divbzero 6y agoThere is also an additional challenge for apps like Jira or GitHub where the iOS app lags behind the web app in functionality.
- brundolf 6y agoYes, and this was my experience with the JIRA Catalyst app too. It's harder to implement new features in native apps, and it's a lower priority (on desktop) because it only affects one platform. So the project is deprioritized and never gets any updates.
- kevinvdburgt 6y ago
- alwayssmh 6y agoi don't recall such support when msft was launching arm based laptops. does anyone have insight to why this is so? is it a case of apple developer relations doing an outstanding job engaging with the community?
- marshallofsound 6y agoElectron maintainer here, although we _also_ support arm64 for Windows. Apple silicon support was driven from the beginning as a priority, it was obvious that it was the future of macOS and without direct support you'd be left behind. arm64 on Windows is barely supported by anything, let alone msft itself... Also Apple did a fantastic job with early engagement for Apple silicon development, even going as far as to assist with code changes / patches early on.
- xuki 6y agoBecause developers use Mac, and they’re doing a complete transition. Majority of Windows installations are still on x86.
- quantummkv 6y agoIt's mostly due to the fact that unlike Microsoft, Apple is doing a complete migration to ARM. The developers have to migrate to ARM because they cannot just tell users to buy x86 macs like they could do for windows
- Uehreka 6y agoThis sounds correct to my knowledge, but I can’t help but wonder if there’s a substantive difference between the Microsoft and Apple ARM transitions that’s not obvious to me.
- johncolanduoni 6y agoApple also already has had widely used ARM64 tooling since the iPhone 5S. Microsoft’s has only been used by people targeting Windows Phone & their half-hearted ARM laptops.
- jamil7 6y agoWondering if we see a few less major electron apps on Apple silicon as companies can share their swift codebases a few different ways.
- sumanthvepa 6y agoWhat M1 giveth, Electron taketh away. Sigh.
- Jare 6y agoIf only the issue was limited to Electron... I often feel like Electron is more a declaration of defeat, like: hey no matter where you look at, software bloat keeps eating the precious advances in power provided by hardware. So let's at least get some comfort and value out of that. (Electron does put multiplatform desktop development within reach of 100x more developers than Qt/etc)
- qz2 6y agoI installed windows NT in a virtual machine for kicks a few months back. Then installed office 97 on it. If you do that and open slack immediately afterwards it feels painful instantly. The difference in how it feels is quite scary.
- johnisgood 6y agoPartly we can thank this to the "throw more hardware at it" mentality and "lowering the barrier to entry" where noobs create the stuff a lot of us use. People can say all they want that it is good to lower the barrier entry, but that comes with a price. The price that others have to pay when we use their crapware. As long as it is not mandatory though, it is fine, but when it becomes mandatory, it becomes an issue.
- cannedslime 6y agoIts your choice to use others "crapware". The price it comes with is all the abuse "noobs" have to take for offering their solutions for free. You don't like HTML frontends, thats sweet, then make your own alternative with Qt or winforms. There is NO "mandatory" electron apps... But there is some great software made with electron that has become very popular. I am confident if something has been made with electron, there is native alternatives out there. Don't like slack? Then use IRC. Don't like my joystick to keyboard/mouse remapper with an electron frontend? Then don't, use one of the many alternatives (Too bad if they don't provide what you are looking for and no one of them seems to be able to modulate output in order to emulate analog controls. But at least it was written by a pro!)
- mrzool 6y agoMostly I would just want Electron to disappear overnight.
- bamboleo 6y agoIf you don't want Electron apps, don't use them. It's not like they would exist without Electron. The people who build Electron apps are, for the most part, people who wouldn't build an app otherwise.
- pwdisswordfish4 6y ago> The people who build Electron apps are, for the most part, people who wouldn't build an app otherwise. It’s not a bug, it’s a feature.
- mrschwabe 6y agoRemember to stop using VSCode, since it's based on Electron
- rimliu 6y agoI did, moved to Nova.
- bamboleo 6y agoEnjoy your amazing but unsupported piece of software. There was a little thing called Espresso 2, years ago. It was amazing. The beautiful X-Ray view for CSS? Incompatible with SCSS. It didn’t take long to reach the conclusion that my job changed enough that I could no longer use what made Espresso 2 great.
- WanderPanda 6y agoI guess e.g. MS Teams would exist, but in general I agree with you
- 6y ago
- maxpert 6y agoI am really curious why the response to Apple Silicon is so prompt vs when Microsoft did WinRT or ARM versions nobody really cared. What is the difference? Was there some problem in compilation tool-chain or what?
- tshaddox 6y agoI suspect the two major differences are that vendors have confidence that 1) Apple will stick by this decision for quite a long time and 2) Apple will sell a significant number of units with this new architecture.
- Hamuko 6y ago>What is the difference? The fact that there won't be new x86 Macs in 5 years.
- gabereiser 6y agoI say 2... future us will have to track this bet.
- Hamuko 6y agoThe difference between Apple and Microsoft is that I can make a claim that Apple will stop selling something they deem legacy technology in five years and people will mostly push back against me by saying that five years is too long. If I claimed that Microsoft would stop supporting something in Windows in five years, I'd mostly get jeers.
- jmnicolas 6y agoWhat makes you think there still will be x86 Macs in 5 years? (we're speaking about new Macs right?) If Apple still made XServe I would agree but here I don't see why they would keep x86 in their lineup.
- akmarinov 6y agoNo need for a bet, Apple said so at WWDC. They started a transition period that will last 2 years.
- gainsurier 6y agoIs this means that VS code can be running on an iPad ?
- The_Colonel 6y agoI don't think so, you still need macOS for electron. Electron doesn't work on Android either and AFAIK there are no plans to make it work there.
- Phlogistique 6y agoFor some reason this announcement gets displayed to me in a unholy mix of French and English: > Electron 11.0.0 est disponible ! It includes upgrades to Chromium 87, V8 8.7, and Node.js 12.18.3. We've added support for Apple silicon, and general improvements. Lisez la suite ci-dessous pour plus de détails ! > La team Electron est excitée d'annoncer la sortie de Electron 11.0.0 ! Vous pouvez l'installer avec npm via npm install electron@latest ou le télécharger sur notre site web. The release is packed with upgrades, fixes, and new support for Apple's M1 hardware.
- dfabulich 6y agoThere's a language switcher in the upper right. If you set it to French, it does that. Maybe just switch it back to English?
- thiht 6y agoIt's mix, and the parts written in French are atrocious. Is that an automatically generated translation? I mean "changement de pile" for "stack changes", really? I had to pause to understand the sentence. I'd prefer websites to stop pushing half assed translation and just serve English if they don't have the resources to translate properly.
- jamil7 6y ago> I'd prefer websites to stop pushing half assed translation and just serve English if they don't have the resources to translate properly. I'd also prefer websites stop deciding to serve me a certain translation based on their often poorly-guessed geolocation rather than my browser language.
- M4v3R 6y agoIt does the same for me, but for Polish. I think those posts somehow use per-sentence i18n strings, so if a generic sentence sentence was already translated they will use it. I agree it looks a bit weird, though :).
- torginus 6y agoNow if we could have Node.js for ARM separately, that would be nice.
- kmlx 6y agosoon https://github.com/nodejs/build/issues/2474 https://github.com/nodejs/build/issues/2474
- cocobende 6y agoElectron is a cancer.
- scottisbrave84 6y agoMy thoughts? Fire at all arm electron as hard as possible forever and for always.