What I need is a Mac that will run the Electron app that I built. I don't need a dev machine - I just need to be able to install and test the app on a Mac. Is a cheaper Macbook Air enough for this or should I fork out for a more expensive Macbook Pro?
And if I test on a Macbook Air can I be sure it will run ok on a Macbook Pro?
Pretty basic questions I know, but I have zero exposure and experience with Macs but need to be sure my app will run ok on one.
It's an hexa-core 8th-generation Intel Coffee Lake processor with 65W TDP, has USB-C / Thunderbolt 3, as well as upgradeable DDR4-2666 SO-DIMM memory modules. It's also one of the last Macs to support dual-boot via Boot Camp, which will provide you a nice sanity check if you need to go deeper into performance profiling (i.e., Windows 10 vs latest macOS).
Also - make sure you have an Apple Developer account, as you will want to be able to appropriately package the application, including signing.
This machine will last a while.
https://github.com/kholia/OSX-KVM
The repo works well. Tweak the CPU cores and type for emulation. If you're running an Intel CPU you're pretty set as you wont be required to emulate as if you were one (aka running a Ryzen perhaps).
On my Ryzen 16cores, I get about 90%+ performance inside the OSX vs my native machine.
If not going with dual boot, while you can run QEMU with windows, you won't have the KVM accelerator which is how I got high performance. You might want to try nesting a Linux inside Hyper-V and then running Qemu inside of that.
There are "one click" options out there for VirtualBox. Basically run a script, come back later and have a fully functional MacOS VM?
You can run this on your windows DEV machine and therefor your costs are zero.
(To translate back to the Windows world - if you were making an app for Windows you'd want to make sure it works on the cheap stuff at Best Buy, not just a high-end Dell XPS with 16G RAM, because most users have a cheap thing).
If your app works on a lower-end machine it should work on a higher-end one. You can run and test an Intel build on an ARM machine, you can't run and test an ARM build on an Intel machine.
In the event that your app only runs on high-end Macs - for example if it's an opportunistic port but you don't have the resources to work on Mac performance - you'll probably want to think about how to message that, before you reach the point of people downloading it and becoming loudly disappointed.
There isn’t another answer, here. Definitely do not buy an Intel Mac at this point.
As a personal advice, you can go with a M1 or M2, depending on your budget, either are really fast processors. However, the standard 8 GiB of RAM really bothers me and I hate the fact Apple still sells some computers with so little memory. I you plan to use this computer ONLY for testing your Electron app, you can go with the basic 8 GiB of RAM, but I REALLY recommend you to upgrade to 16 GiB.
Also, if you're on a budget, check out Apple's refurb or Backmarket, but go with a M1/M2 processor anyway, there is no point to use a Intel chip today.
1) OS version
2) CPU architecture - M1 vs x86
Besides that, the different models only differ in terms of processing power and specific peripherals (extra cores for hardware-accelerated ML, etc). You'd already know if any of those specific mattered to you.
if little/no difference or downward compatible, it'll simply work
workable app. in a OS was already guaranteed by and in electron's cross compile / build time
Why? It's the cheapest product w/ a full Mac experience. You don't want to plug in a mouse and windows keyboard w/ a random Monitor and save $200, if you've never used a Mac before. You're not going to experience using a MacBook w/ gestures and all the bells and whistles a normal user would have, and that might end up holding you back.
It's like not having a real iOS / Android test device & testing in emulators – you can verify the buttons do what you expect, but you'll never discover the app "feels broken" without Android back button support.
I'm assuming you have enough traction or a serious reason to pursue working on this app, and you're looking to support it long-term, not just a quick port for a project or contract work. If this is starting to sound like too much work for your project, obviously my experience doesn't apply. MacInCloud is a good service if this is like, a contract gig or something minor, or you're not ready to buy an expensive test device.
At the price point though, it's hard to find a fast, Retina Intel model that saves you enough money to be worth it.
There's also some minor packaging quirks for an Electron "universal" installer that will work on both an Intel and M1 Mac. If you get it to build for universal it'll also run on an Intel Mac.
If it feels like a solid app on the 2020 M1 Air, it'll feel right at home on the latest unannounced $4,000 MacBook Pro coming out next month as well. You just have to imagine the notch.
USB-C charging too, so you won't have to worry about replacing a proprietary charger someday, or buying accessories that won't work on your other devices.
Here's some common OS differences to look out for, as well, during development:
- Test your app full-screen and in windowed mode. There's some interaction quirks you might not be used to when you go full-screen and end up with multiple workspaces
- Understand the drag and drop app installation experience, if you've never seen that before. Counterintuitively, most people probably won't prefer to get your app from the macOS App Store (but you probably want to avoid an unsigned app from an "unidentified developer" – could impact your conversion rates)
- If you use menubar functionality test a few other apps to get a feel for the norms around this – people seem to hate electron-looking apps that look non-native in the menubar. Might be a nice thing to add, if it improves your app experience (seems like a mostly unused feature on Windows)