Do you have a great idea for an iOS app or a Mac app? Looking for the right Mac to code it on? You’ve come to the right place. In this article we will look at why a Mac is necessary for iOS development and why a Mac is a great choice for developers. We also reveal the minimum Mac you need for coding – including whether a MacBook Air will be sufficient.
Whether you are a seasoned app developer looking to update your Mac to something more substantial, or just trying your hand at creating an app for the first time and hoping to find a low cost Mac that’s good enough for the purpose, we will help you find the best Mac for your needs.
You may be wondering if Apple’s M1 or M2 Macs are good enough for developers or if the M2 Pro, M2 Max or M1 Ultra would be better. You may even be wondering if you should choose a Mac with an Intel processor. We’ll take a look at those questions below.
If you want to skip the buying advice, you can jump straight to our recommendation of the best Mac for developers.
Why you need a Mac for iOS & macOS development
To develop an iOS or Mac app you will need the following:
- Membership of the Apple Developer Program. It costs $99 annually (about £80 in the UK) and gives you access to beta software, advanced app capabilities, extensive beta testing tools, and app analytics (more information here.) To just test and deploy applications you only need an Apple ID, but you will need to be a member of the Developer Program if you want to sell your apps on the App Store.
- Even if you developed your app using something other than a Mac, you will need a Mac to compile the final product that is uploaded to the App Store.
- Xcode is the primary tool for macOS and iOS development and it is only available on the Mac. It is a free download from the Mac App Store and the current version is 13.3,1 the time of writing. That includes Xcode IDE, Swift, C/C++/Objective-C compilers, Instruments analysis tool, simulators, and SDKs for the latest versions of iOS, iPadOS, watchOS, tvOS, and macOS. Note that Xcode 14 requires macOS 12.5 Monterey or later, so you also need…
- A Mac that can run macOS 12 Monterey or later. (See our macsOS compatibility checker).
One key reason to buy a Mac for development is the simple fact that it’s difficult to run macOS on anything other than a Mac. You could build a hackintosch, and some people do, but there are lots of reasons why we wouldn’t recommend that as a solution.
We also have a guide to coding and programming on a Mac.
Can Apple’s M1 and M2 Macs be used by developers?
There a lot of positive to be said about Apple M-series chips which include the M1 and M1 Pro, Max and Ultra and the M2, M2 Pro and M2 Max. Ever since the introduction of the M1 in November 2020 Apple’s home-made Arm-based chips have proved groundbreaking and the benchmarks impressive. These new Macs compared very favourably with the older Intel-powered Macs.
The main disadvantage is if the software you use may is be fully supported, but over the past few years many apps have been updated for the Arm-based chips. If the app you need isn’t native yet, Apple includes Rosetta which translates old X86 code so it can run on Arm (there may be some lag if you are having to rely on that though). You can check the status here: Apps Ready for M1 and we run through which apps work on M1 Macs in a separate article. Luckily many essential apps do already run natively on the M1 chip, including Python, Unity and Chrome.
Another reason to develop on the Mac is because you can run not only macOS on it, but also Windows and Linux and other operating systems via Apple’s own Boot Camp software or by using virtualisation and virtual machine software. However this situation has changed since the introduction of the M-series chips. With the M1 we lost Boot Camp as an option because the system is no longer on the same X86 platform as Windows. Now if you need to run Windows on your Mac the only choice is to use the Arm version of Windows 11, if you need another version of Windows you need to use an Intel-powered Mac (or a PC).
Even running Windows 11 on a M1 or M2 Mac hasn’t been as simple as it used to be, but luckily things have improved since the introduction of the M1 SoC and Microsoft now endorses Parallels as a way to run the Arm version of Windows 11 on M1 and M2 Macs. See our run through of the best software to run Windows on your Mac.
Another criticism of the M1 Macs was that they max out at 16GB RAM (or unified memory as Apple refers to it). Apple rectified that with the M2 Macs, which support 24GB unified memory. If that still doesn’t feel like enough, the M1 Pro and M2 Pro chips support up to 32GB memory, while the M1 Max chips support 64GB, the M2 Max chips support up to 96GB, and the M1 Ultra can support up to 128GB unified memory.
There is a lot of debate as to whether you, as a developer, will need 32GB or more RAM. It should be noted though that RAM in the M-series Macs is very different to RAM in the Intel-based Macs, so it may well be that 8GB or 16GB would be more than sufficient–although we would always recommend that you buy the most amount of RAM you can afford for the sake of future-proofing your Mac (while considering that any money you save now you could spend on a new Mac a few years down the road that will be better than anything Apple makes right now). If you feel you need to max out the RAM you have the choice to go up to 128GB–unfortunately the price of the additional RAM (which you won’t be able to update later) is high.
All those disadvantages aside, the Apple silicon Macs do offer some excellent positives such as incredibly long battery life; cool, quiet operation; and benchmark-beating specs. If you don’t need to run other operating systems and you don’t need to use software that isn’t yet native to the M1 chip the M-series Macs will not hold you back.
Choosing the best Mac for app development
We have already established that you will need a Mac that can run macOS 12.5 Monterey or later in order to use the latest version of Xcode, and here are the Mac that can run Monterey:
- MacBook (2016 or newer)
- MacBook Pro (2015 or newer)
- MacBook Air (2015 or newer)
- Mac mini (late 2014 or newer)
- iMac (late 2015 or newer)
- iMac Pro (all models)
- Mac Pro (late 2013 or newer)
- Mac Studio
So which of these Macs would be best?
If you were to consider every Mac included above that would be a huge range of Mac laptops and desktops. Some are better suited to app development than others. You might find a Mac that looks like a bargain, but another Mac could offer much more for only a little extra money.
To find the best Mac for coding you should take the following into consideration:
- Will this Mac provide the best coding environment?
- Is this Mac future proof?
- Does this Mac cost more than you want to spend?
We’ll look at the following requirements below: screen, portability, RAM, CPU, storage, battery life, ports and peripherals while assessing each Macs suitability for coding.
Best MacBook for development
In this section we will look at each Mac available now and discuss its merits as a coding machine. If you are trying to decide between MacBook Air and a MacBook Pro we’ll address this next. However, a Mac mini or Mac Studio may suit you better if you are looking for the most bang for your buck in which case you may want to skip to the best Mac for development section.
Apple 14-inch MacBook Pro (M2 Pro, 2023)
The 14-inch MacBook Pro with an M2 Pro chip is a good choice for developers. It will allow you to kit it out with 32GB RAM if you don’t feel that the 16GB that comes as standard is enough. How much RAM you need depends on the kind of development work you are doing. The total RAM needed will depend on the requirements of the applications you need and your development tools, you’ll also need to consider the RAM requirements if you want to run multiple containers or virtual machines on your Mac. We think you will need 16GB RAM at the minimum. If you are buying a new Mac then we’d recommend that you get as much RAM as you can afford as a build-to-order option to future proof your purchase because it’s been years since it was possible to update the RAM on MacBooks.
You’ll also get a 10- or 12-core CPU and 16- or 19-core GPU. When it comes to the processor–the CPU–there is no difference between the M2 Pro and M2 Max (excusing the entry-level Pro which has fewer processor cores). There is a bigger difference when it comes to GPU cores. However, as a developer the number of GPUs may matter less, unless you are planning to play games or use apps that require powerful graphics.
There is an even faster chip on offer which supports even more memory. The M2 Max is an option in both the 16-inch and 14-inch MacBook Pro, but choosing the 14-inch MacBook Pro will save you money if you don’t need the bigger screen and better battery life of the 16-inch model.
You may be intrigued to know that back in November 2021 Twitter, Uber, and Shopify announced that they had given their developers M1 Max MacBook Pro machines. The reason they chose to go with the M1 Max is because they found that compilation time, specifically Android build time, was cut in half.
The main reason to choose the M2 Max as a developer would be to get the maximum 96GB RAM and 38 GPU cores. If you configure the 14-inch MacBook Pro with those specs it will cost $4,099/£4,349, which is $200/£200 less than the same configuration on the 16-inch model.
The MacBook Pro comes with either 512GB or 1TB storage as standard. You can configure up to 8TB storage if necessary, but our advice would be that you shouldn’t need a lot of storage on the basis that your code shouldn’t take up a lot of space–if it does you might need to look at your code.
Buy the MacBook Pro from Apple or check out the best MacBook Pro deals right now here: Best MacBook Pro deals.
Apple 13-inch MacBook Pro (M2, 2022)
The 13-inch M2 MacBook Pro is a good option if you are on a budget, although we do suggest you upgrade to 16GB RAM at the minimum (+$200/£200), or 24GB (+$400/£400) if you can afford it.
The reason we’ve picked the 13-inch MacBook Pro over the MacBook Air is to do with how well the machine would cope if you were really pushing it. The MacBook Pro includes a fan where the MacBook Air doesn’t so it will be better able to cool itself, rather than throttling the machine to cope with the pressure.
One disadvantage of the 13in MacBook Pro (and the MacBook Air) is that it only support one external display (although there are workarounds, read: How to connect two or more external displays to M1 Macs). If you need more than one display (in addition to your built-in display) then you may be wise to choose the 14-inch or 16-inch MacBook Pro, both of which can support three external displays. Alternatively the Mac mini can support a second display via HDMI, for two displays total. While the Mac Studio can support up to five displays.
If you do opt for a 13-inch MacBook Pro we suggest that you choose the model with 512GB SSD rather than the 256GB model, primarily because 256GB feels small these days. If you’d rather spend the $200/£200 on an external backup you could get much more storage though.
Apple 16-inch MacBook Pro (M2 Pro, 2023)
The 16-inch MacBook Pro is practically identical to the 14-inch model and offers the same options for the M2 Pro or M2 Max chip. The big differences are the bigger screen–useful if you need lots of windows open at once–and better battery life. Those two things may be really important to you. They come at a price though–generally $200/£200 more than the same on the 14-inch MacBook Pro.
Do you need the bigger screen? One of the most useful things for a coder is a big screen. As a developer you will probably have several programs and windows open at once: a web browser, a text editor, and the Xcode IDE (Integrated Development Environment) to name a few. You will benefit from a large screen or things will feel uncomfortably cramped (even more so if you are using Unity3d for game development, for example).
However, if you want to use a big screen there is nothing to stop you plugging an external display into your MacBook Pro. A separate screen is a good option if you are looking for a portable Mac. That way you have the benefit of being able to code wherever and whenever inspiration hits, and benefit from a bigger screen when you are at your desk. What about when you aren’t at your desk though? If you want as much screen as you can get on a Mac laptop then the 16-inch MacBook Pro is the one to pick.
While we are discussing the screens. The 14-inch and 16-inch MacBook Pro have the best screens available on a Mac. They offer Pro Motion, which means refresh rates up to 120Hz. Refresh rates are adapted according to what’s on the screen at the time. There are certainly applications that will benefit from this more than others. It’s questionable how much of a benefit it will be to developers.
The 14-inch and 16-inch MacBooks are able to go up to 1,000 nits sustained (full-screen) brightness, 1,600 nits peak brightness (although the extra brightness is only utilised by certain apps and for HDR content, so most of the time it will only go to 500 nits). Both the M2 MacBook Air and the 13-inch MacBook Pro offer 500 nits. The older M1 MacBook Air which is still on sale has a 400 nits screen.
Buy the MacBook Pro from Apple or check out the best MacBook Pro deals right now here: Best MacBook Pro deals.
Apple MacBook Air M2 (2022)
Apple sells a $999/£999 M1 MacBook Air that is the cheapest Mac laptop you can buy. When it was introduced in November 2020 the M1 MacBook Air was beating some much more expensive Intel-powered Macs when it came to benchmark scores, so this is a much more powerful machine than you might suspect.
In July 2022 a new M2 MacBook Air went on sale alongside the M1 model. The newer MacBook Air has an updated design, a better chip and a bigger display. We think it is worth spending the extra $200/£250 as we discuss in our comparison of the M1 and M2 MacBook Air.
If you were thinking of getting a MacBook Air for casual app development we’d recommend it as an option. Upgrade the RAM to 16GB though.
If you needed something for more extensive coding then it might not have the uumph though. You could expect faster compile times from the 13-inch MacBook Pro mentioned above. As we said, one of the biggest differences between the MacBook Pro and MacBook Air is that the Air lacks a fan, which could mean that it slows down in order to avoid overheating during more intensive activity, so keep that in mind.
Buy the MacBook Air from Apple or check out the best MacBook Air deals right now here: Best MacBook Air deals.
Best Mac for coding
Actually some of the best Macs for developers are desktop Macs, which generally offer more power for less money. So if you don’t mind being tied to your desk these are a good option:
Apple Mac mini (M2 Pro, 2023)
The Mac mini is an attractive package and we expect many developers will be wondering whether to get one. It’s the cheapest Mac going, although you will have to factor in the cost of a monitor and keyboard and mouse – but you probably have them anyway.
With the Mac mini you can get an impressive and powerful machine for a fraction of the price of a similarly speced alternative Mac. For example, for $599/£649 you can get a M2 Mac mini with 8-core CPU, 10-core GPU, 256GB SSD, 8GB RAM (update that to 16GB or for another $200/£200). A MacBook Air with the exact same specs would cost more than double that at $1,299/£1,349.
There’s an even better Mac mini to consider though. The M2 Pro Mac mini costs $1,299/£1,399 and comes with 10-Core CPU, 16-Core GPU and 16GB unified memory as standard. It also features four Thunderbolt 4 ports compared to two on the M2 Mac mini. If you were to buy a similarly specced 14-inch MacBook Pro you’d have to spend $1,999/£2,129. We’re not sure that the extra $700/£730 is worth spending unless you really need a laptop.
Buy the Mac mini from Apple or check out the best Mac mini deals right now here: Best Mac mini deals.
Apple Mac Studio (M1 Max, 2022)
If you need more power than the Mac mini M2 Pro offers then look to the Mac Studio with M1 Max. While the M1 Max has now been superseded by the M2 Max, this machine still offers maximum power at a lower price than the equivalent Mac. Sure you will need to plug in a display, but if you already have one that won’t be a big issue, and even if you don’t, a decent display doesn’t have to cost a fortune.
The M1 Max version of the Mac Studio means you get up to 64GB RAM, a mass of ports, plus enough GPU and CPU cores to keep everything smooth. At $1,999/£1,999 it might seem a lot of money, but compared to a roughly equivalent 14-inch MacBook Pro M2 Max at $3,099/£3,349 it’s a decent saving.
Buy the Mac Studio from Apple or check out the best Mac Studio deals right now here: Best Mac Studio deals.
Can Xcode run on a PC?
As we said above, there is not a version of Xcode for Windows. You need a Mac to run Xcode. There are a few ways around this limitation, for example you could pay to access a Mac from your PC via the cloud and do your developing there. Services like macincloud or MacStadium enable developers to offload Xcode builds to Macs so they can test iOS and Mac apps.But it might just be cheaper and more efficient to buy a Mac.
It’s also illegal to run macOS on a PC–although some developers will find ways of running macOS on a PC, be it via a VM or a tool like VirtualBox, or because they have built a Hackintosh. We wouldn’t recommend going to such lengths, but you can read about how to install macOS on a PC here.
You might think you will get away with breaking the legal agreement with Apple not to run macOS on a PC, but remember you are going to be asking them to approve your app, so don’t give them any reason to say no! Attempt to run Xcode on something other than a Mac also means you are likely to experience issues and you will never know if it is your code or the dodgy installation you are using. If your app matters that much to you then use the right equipment.
There are alternatives to Xcode that will allow you to make an iOS app on a PC.
Can I use Flutter to develop iOS and macOS apps without a Mac?
Flutter is an open-source US development kit from Google that makes it easy to create an app that can be used across a variety of platforms. It means that developers only need to code once and then the app can be converted to iOS, Android and others. Understandably there are many wondering if this process means developers can by pass the necessity to use a Mac.
In a word, no, although you could use Flutter to create an app for multiple platforms on a Linux machine or a PC, you will still need to use a Mac to test the application and submit it to Apple for distribution on the App Store.
Flutter can be installed on macOS alongside Xcode. If you have an M1 Mac you might be concerned that Flutter isn’t yet M1 optimised, but it can be used via Rosetta. Download Flutter here.
Can I develop on an iPad?
There is one other option, you could code on an iPad, the best option would be an iPad Pro with a separate keyboard. Read: A developer’s week working from the iPad for one developer’s experience using an iPad.
How to get a cheap Mac for coding
Sometime as much as you would love to own the best and most powerful Mac, the budget just won’t stretch above £1,000/$1,000. Maybe that is more than you are willing (or able) to pay. Luckily there are a few options:
If you are a student, check out Apple’s education store to get a discount on your new Mac.
Apple sells Macs that have been returned to it. These could be ex-display Macs from Apple Stores, or they might be Macs that were returned due to a fault that has since been fixed, or it might be old stock that the company is selling after a new model has launched. You can pick up some good deals here.
Rent a Mac in the cloud
If you really can’t afford an adequately specced Mac for programming your app on you could rent one in the cloud. For example macincloud or MacStadium and get access to Mac servers from $20 a month.
AWS also offers some Mac mini models powered by the AWS Nitro System. Plus customers can choose from macOS Mojave (10.14), macOS Catalina (10.15), macOS Big Sur (11), and macOS Monterey (12) as Amazon Machine Images (AMIs).
Want to know even more about programming on a Mac? Read:
- Best programming language for Mac
- How to make apps with Apple Swift 5
- How to use Swift playgrounds
- How to learn Swift: books, courses, guides
- How to learn Python coding on a Mac