I’d like to make plugins for both MacBook and Windows using JUCE. I already have multiple Windows machines that I can test on, but currently I don’t have any MacOS machines. I was looking at purchasing a refurbished MacBook Air or MacBook Pro, and am currently looking at options ranging from mid-2012 to mid-2014. My understanding is that C++14 is the Default JUCE C++ version (and I am fine with coding in C++14), which is supported on MacOS since version 10.9, which is supported on MacBook Pros since 2007 and MacBook Airs since 2008, so the range should be fine from technical point of view. The MacBook would only be used for testing as I am happy coding plugins (and producing music) on my Windows machines.
However, I don’t know which MacBook version would be most representative of the market. I was wondering if anyone had any advice on or experience buying refurbished MacBooks for plugin testing, or any insights on which MacBooks seem to be most prevalent among producers. Is 2012-2014 range representative, or should I invest more for 2015?
Since Apple went to its own chips (M1) I wouldn’t put any money into an old (Intel) Mac. I bought a Mac mini M1, the smallest one for around 700 bucks. That fits all my needs. If you really need a laptop, have a look at the Mac book air. Don’t wast money for more ram or storage. For debugging the smallest version is more than enough.
+1 for M1 being a turning point. The newer intels can build for M1, but don’t ride a dead horse.
One word of warning: The new Apples are soldered on one board, so there is no way to upgrade later on, neither CPU nor RAM.
If you can add some budget don’t get the smallest RAM. But for the SSD the external thunderbolt drives are perfectly fine to scale later on.
Thank you for your response. Could you elaborate on the point “The newer intels can build for M1”. If I’m not mistaken this statement seems to imply that in order to support MacOS I would need to build two binaries: one for M1, one for previous Intel based Macs. I thought that MacOS has Universal macOS Binary standard and that a single build would suffice for both older and newer Macs (pre and post M1).
The M1 is a different architecture, so it requires a different build.
XCode can build both architectures and they can be put into the same bundle.
There is the lipo tool for that, but I need to brush up on that myself…
But Xcode versions before 12 cannot build for M1. If your mac cannot run Xcode 12 you cannot support M1. I think the oldest is Catalina where you can run Xcode 12. But please check with authoritative sources before making a decision.
Indeed. Thank you very much for the information. It is a shame that Apple went with a completely different architecture rather than the standard. Makes things unnecessarily more complicated. I’ll check which versions can run Xcode 12. This rabbit hole is much deeper than I thought it would be.
EDIT: This source seems to indicate that in order to build the Universal app package, which is I believe what you were referring to, as a single bundle containing a build for both Intel and M1 chips, one needs to have XCode 13.1: Unlock the power of the new MacBook Pro - Latest News - Apple Developer . According to this table that means I need at least macOS Big Sur to build with XCode 13.1, which, according to this Wikipedia article rules out all MacBooks before 2015, all MacBook Airs before 2013 as well as Airs from the early 2013, and all MacBook Pros before late 2013.
In response to @baramgb : I’d prefer a laptop so I can build/test/debug even while I travel.
I’ve been thinking about this myself of late. With a relatively new Intel-based MacBook I could use windows while travelling, via bootcamp. Does anyone have any experience running Windows ARM and Visual Studio on an M1 macbook?
p.s. i just realised that there is not yet a version of VS for ARM Windows…
I run VS2022 on arm windows on parallels (with 16gb) on a 32gb m1 Max 14inch mac. It works better than expected, and it builds faster than Xcode (i think, but that’s nothing special )
But for testing and debugging plugins in special scenarios I still use a separate windows pc.
Ok, but to be clear, are you using an arm build of VS, or an x64 build? Actually, I don’t really care. I’m just happy to know this is possible at all
using the x64 version, last time I checked it there was no arm version available, I think they are working on an arm version
I know this isn’t true ‘travel friendly’ solution. but RDP works well for me for building…
At home / for my personal use, I have 10700K with Windows 11 I can connect via VPN or locally.
edit: I’m also able to do decent OpenGL debugging with it
Reading about the M1 and arm64, it doesn’t seem Microsoft can do the Rosetta magic Apple does.
Memory ordering and barrier flags which aren’t the arm64 standard make Apple get near native performance that cannot be done without constraining memory to Intel’s ISA.