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.
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) 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 11.5 the time of writing. That includes Swift 5, SwiftUI and SDKs for the latest versions of iOS, watchOS, tvOS, and macOS. Note that Xcode requires macOS Mojave 10.14.4 to run, so you also need…
- A Mac that can run macOS Mojave 10.14.4 or later (see below).
In addition to all the above, there are some benefits to developing on a Mac even if you aren’t building for one of Apple’s platforms, the key one being: You can run all the major operating systems on a Mac - Windows, Linux, etc - so you could use your Mac to program for any OS. Want to make a version of your app for Android too? No problem.
As we will discuss below, it’s difficult to run macOS on anything other than a Mac and there are lots of reasons why we wouldn’t recommend that as a solution. You could build a hackintosch, and some people do, but we'll save that for another article.
How to choose the best Mac for app development
We have already established that you will need a Mac that can run macOS Mojave 10.14.4 or later in order to use the latest version of Xcode, and here are the computers that can run Mojave:
- MacBook (Early 2015 or newer)
- MacBook Pro (Mid 2012 or newer)
- MacBook Air (Mid 2012 or newer)
- Mac mini (Mid 2012 or newer)
- iMac (Late 2012 or newer)
- Mac Pro (Late 2013 or newer, or mid 2010 and mid 2012 models with a Metal-capable GPU)
- iMac Pro
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 developing 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 in details at the following requirements below: screen, portability, RAM, CPU, storage, battery life, ports and peripherals.
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).
The 27in iMac has the biggest screen on any Mac and its Retina 5K display is one of the best quality 5K displays you can get. In fact, if you want a 5K display it’s actually better value to buy a 27in iMac than a separate 5K display.
But do developers really need a 27in iMac? Not really. If you want to use a big screen there is nothing to stop you plugging one (or two) external displays into any Mac. (See our screen recommendations here).
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? Based on the theory that you need as much screen as you can get you might want to consider a 16in MacBook Pro. But would a 13in MacBook Pro, or an even cheaper MacBook Air suffice?
As for the difference between a 16in and a 13in MacBook Pro - the 13in models will probably suffice (or you might want to consider one of the discontinued 15in models if you can find one for sale). We used to advise against getting a MacBook Air, but then Apple updated the range in October 2018 (and most recently in March 2020) and the newer models are in a different league to the old-style Air. We look at the pros and cons all these Mac laptops below.
When it comes to the screen size on a laptop, choosing a Mac laptop with a Retina display make a big difference. A Retina display isn’t just beautiful to look at, it is capable of scaled resolutions - so you can crank up the resolution using scaling and see a lot more code in Xcode.
All Mac laptops now have a Retina display - the exception being older models of the MacBook Air from before 2018.
In July 2019 Apple added True Tone to the MacBook Air display, which was already a feature of the MacBook Pro. This could be a benefit if you tend to program in the dark as it adjusts the colours to the lighting conditions and should help you avoid eye-strain. If that appeals then look for a 2019 or 2020 MacBook Air or any MacBook Pro since 2018.
There used to be a 12in MacBook. It has been discontinued by Apple, but you may still be able to buy one. We'd advise against that though as the the MacBook Air and the 13in MacBook Pro aren’t much bigger or heavier and have a lot more going for them.
Which ever MacBook you choose, we suggest you factor in the cost of a separate screen for when you are at your desk, because as a programmer you are going to benefit from as much screen space as you can get your eyes on. Both the Air and the Pro can support two extra 4K displays, or one 5K display, which could be handy. The 16in MacBook Pro can even support Apple's new XDR display, but you won't need that.
Speaking of factoring in the cost for a separate screen, the 2018 Mac mini lacks a screen altogether, but it supports a 5K display, or two 4K displays, so that could be worthy of consideration.
The next consideration is the specs of the Mac. Coding an app isn’t going to be as big a power drain on your Mac as playing a graphic intensive game (unless you happen to be developing a graphic intensive game) but you will find yourself tearing out less of your hair while waiting for Xcode to compile your code if you have a reasonably specced machine.
What are the best specs for a Mac that’s going to be used for programming? We’ll look at RAM, CPU and storage below.
When it comes to programming, memory is key. Xcode uses a lot of memory and if you use any other apps, such as Photoshop, you’re machine will soon be struggling if you have insufficient RAM.
You will need 8GB RAM at the minimum - so that rules out any older generations of Macs that shipped with 4GB RAM - it's unlikley that they would support the newest version of Xcode anyway. However, if you are buying a new Mac then we’d recommend that you choose 16GB RAM as a build-to-order option to future proof your purchase.
When Apple updated the 13in MacBook Pro for 2020 it gave the two mid-range models 16GB RAM as standard, with the option to upgrade to 32GB RAM. The 16in MacBook Pro also offers 16GB as standard and the option to upgrade at point of purchase to 64GB RAM - but we don't think you will need that.
This is a good reason to consider the mid-range MacBook Pro ahead of the entry-level models which ship with 8GB RAM as standard. Not only is there less RAM in these models, it's also slower RAM than the 8GB RAM in the MacBook Air (8GB 2133MHz LPDDR3 compared to 8GB 3733MHz LPDDR4X).
That's not to say you should rule out the entry-level MacBook Pro. You could always choose to upgrade it to 16GB RAM at point of purchase for an additional £100 (it's still slower 8GB 2133MHz LPDDR3 RAM though).
If you are wondering whether you can upgrade the RAM later on - or maybe add more RAM to a second hand Mac - the answer is probably no. With the exception of the 27in iMac, no Macs have user-upgradable memory. The RAM inside the 2018 Mac mini, 21.5in iMac, and iMac Pro can be updated, but only by an Apple registered professional. The Mac Pro which launched in December 2019 also has upgradable RAM, but at over £5,499/$5,999 it's likely overkill for your purposes.
Macs are famously hard to upgrade. In some cases it can be done, but doing so is almost never easy, and usually highly risky, and will void your warranty. Read about how to upgrade your RAM here if you are feeling confident.
The processor inside the Mac is an important factor to consider if you are choosing between different generations of Macs. While you don’t need the fastest processor available for programming, you do want to make sure that you are getting the best processor for your money, especially if you are considering an older, secondhand or refurbished Mac.
Don’t assume that all the Macs currently being sold by Apple have the same generation of processor inside them. Some Macs have already been updated in 2020, others haven't been updated since 2019, others have only had minor tweeks since 2018, and there are a few that haven't been updated since 2017 (such as the entry-level iMac). A processor from an older generation may have an impressive looking GHz, but a newer processor with fewer GHz could actually be faster.
The other thing to consider is the type of processor. Do you need an 8-core, 6-core, quad-core, Core i7, Core i9, or will a dual core, i5 suffice, or even an i3 like you will find in the entry-level 2018 Mac mini? Or should you be looking at an Xeon workstation such as is offered by the iMac Pro or Mac Pro.
We can rule our the latter immediately - it’s safe to say you don’t need anything as powerful as an iMac Pro or Mac Pro for programming (unless you are programming something incredibly graphics intensive).
Choosing between a dual-core, a quad-core or 6-core processor (or deciding whether to upgrade to an i7 chip or even i9 chip) is less obvious. You probably will be just fine with a dual-core i5 processor for coding, or even the i3 in the entry-level MacBook Air, but if you have money to spare then it won’t hurt to get a more powerful Mac. Read about the different Mac processors here.
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 need to look at your code.
We’d advise against any Mac that has a hard drive - so that rules out the entry-level iMac and Mac mini and some older, secondhand models. You will find that Xcode builds take a long time if your Mac has a hard drive. Instead opt for a Mac with an SSD - if you are worried that you won’t have enough space you can always get an external storage device.
We'd advise that you ignore any Macs that ship with 128GB SSDs and opt for 256GB or 512GB if you can afford it. This shouldn't be too difficult: in recent months Apple has been increasing storage capacity in its Macs, so where a machine used to offer 128GB it now offers 256GB and 512GB models have been upgraded to 1TB. We mention this mainly to warn you that older models might look like a good deal but they will potentially have half the storage compared to the current options.
We would recommend that you avoid the iMacs that offer 1TB hard drives or 1TB Fusion Drives as while the 1TB storage might sound attractive we warn you that using a hard drive will slow you down.
Battery life is something to consider if you are looking to buy a Mac laptop for programming. Programmers complain that Xcode eats a lot of battery, so expect to be using the charger a lot.
If the maximum battery life is important to you, the MacBook Air offers 12 hours versus 10 hours of battery life on the 13in MacBook Pro and 11hrs on the 16in MacBook Pro. But don't buy the older 2015-2017 MacBook Air without the Retina display if you see one on sale (it's been discontinued by Apple) - in that case the better display on the Pro is well worth the loss of those two hours of battery life.
Ports and peripherals
One more consideration that may or may not matter to you is the ports on offer. Mac laptops are notorious for their lack of ports. In order to keep them small and thin Apple has skimped on the ports to the extent that the now discontinued MacBook only had one USB C port which had to be used for charging too, perhaps one of the reasons for its demise.
If you want to plug your Mac laptop into a external screen and external storage, and if you would rather plug in a separate mouse and keyboard when you are sat at your desk, then make sure you have adequate ports.
The great news is that most Macs offer Thunderbolt 3 - which combines USB-C adaptor for the best of both worlds. The entry-level 13in MacBook Pro and MacBook Air offer two Thunderbolt 3 ports, while the mid-range 13in MacBook Pro and the 16in MacBook Pro offer four Thunderbolt 3 ports.
On the desktop side, the 21.5in and 27in iMacs both offers two Thunderbolt 3 ports, three USB 3, and an SDXC card slot, while the 2018 Mac mini offers four Thunderbolt 3 ports, along with HDMI and USB 3.
If you need the old-style USB-A port you'll need to look at Mac desktops or get an adaptor as no current Mac laptop offers this port.
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, or an iMac and a Mac mini, read on.
There are two sizes of MacBook Pro - 13in and 16in - and both sizes have a Retina display. The 16in model arrived in November 2019 and replaced the 15in model. Prior to July 2019 the Touch Bar was a feature of only the 15in and two of the 13in models, with an older non-Touch Bar MacBook Pro available. That entry-level MacBook Pro was updated in July 2019 and gained the Touch Bar. So now all MacBook Pro models have a Touch Bar.
The Touch Bar tends to be a bit like marmite, with people either loving or hating it. It's probable that the apps you develop with will utilise this handy way of accessing controls, and hopefully it will be a bonus to you.
The 16in model will give you more screen estate, which will be useful if you need more than one window open at once.
The 13in MacBook Pro is still a good option though, and since the May 2020 update to the range the two mid-range models ship with 16GB RAM as standard which is a bonus for developers. You can also get 16GB RAM as a build-to-order option with the entry-level models.
The MacBook Pro will offer you a lot more power for your money than the cheaper MacBook Air - althought the gap has closed somewhat since Apple updated the MacBook Air in March 2020.
From £1,299 / $1,299 / AU$1,999
We mentioned earlier that Apple gave the MacBook Air a significant update in October 2018 - reviving it after neglecting it for years. More recently Apple updated the MacBook Air in March 2020 adding 10th-gen processors
The other change in May March 2020 was the price, which dropped to £999 for the entry-level making this is the cheapest Mac laptop you can buy - although not as cheap as it once was. The best thing about the new-style MacBook Air is that it's no longer crippled by its older processor and the lack of Retina display. And now it can be configured with 16GB RAM (rather than the 8GB max it had before).
The MacBook Air actually has some pretty impressive specs now that make it an appealing machine for development and coding. Perhaps the graphics card lets it down slightly - but you could always attach an eGPU if a faster GPU was a requirement now or in the future.
If you were thinking of getting a MacBook Air for casual app development we'd recommend it as an option. Mac out the RAM to 16GB and get the 256GB SSD version at least.
If you needed something for more extensive coding then it might not have the uumph though. You could expect faster complie times from the MacBook Pro mentioned above.
There is one particular benefit of the MacBook Air is the battery life - 12 hours, which is more than any other Mac.
From £999 / $999 / AU$1,599
It's been discontinued by Apple, but just in case you've found a deal, or one second hand, we'll mention it quickly.
Coding isn’t a particularly demanding task, but you will probably still find the MacBook to be a little underpowered.
You may find that the MacBook struggles under load. Where the MacBook Pro has fans that will kick in if you are doing something particularly intensive, the MacBook has no fans, so it will slow down in order to avoid overheating.
Like the MacBook Pro, there are two sizes of iMac. The 21.5in and the 27in models. Both have high-res Retina displays. In March 2019 most of Apple's iMacs were updated with newer processors, there are now quad-, 6- and 8-core 8th and 9th-gen processor options (with the exception of the entry-level model, which only has a dual-core and hasn't been updated since 2017 - and we would advise against buying because it has a mechanical hard drive). The biggest difference is really the price.
Take the 3.0GHz 6-core 21.5in iMac compared to the 3.0GHz 6-core 27in iMac - is a 27in screen worth an extra £300/$300 to you?
If you think 21.5in will be enough (and you can always plug in an extra screen if you need it) the £1,249/$1,299 model will probably be ok, but you would be advised to upgrade the RAM to 16GB and swap the hard drive for an SSD. With those upgrades you are looking at spending £1,519/$1,599.
Our main warning here is that Apple hasn't updated the iMac in more than a year so we think that an update is imminent.
From £1,099 / $1,099 / AU$1,699
Like the MacBook Air the Mac mini hadn't been updated in a number of years - until October 2018 when both machines got some much needed attention.
The Mac mini hasn't had a significant update since 2018 - Apple simply doubled the standard storage in March 2020 - but the Mac mini is still an attractive package and we expect many developers will be wondering whether to get one. It's not as cheap as it was, but it's still 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 the iMac. For example, for £1,099 you can get a Mac mini with 3GHz 6-core i5, 512GB SSD, 8GB RAM (update that to 16GB for another £180). As we said earlier the graphics aren't quite as good as those on the iMac, which has discrete graphics, but you can always plug in an eGPU later on.
From £799 / $799 / AU$1,299
Mac Pro and iMac Pro
Frankly the iMac Pro and the Mac Pro would be overkill for the majority of coders so we won’t discuss them here.
You probably only need one if the software you are developing needs to run on an iMac Pro.
You might have been hoping you could keep costs down by finding a low cost PC on which to program your app. While some developers have found ways of running macOS on a PC, be it via a VM, 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.
Two main reasons: first, Apple doesn’t allow macOS to run on anything other than a Mac, so essentially, if you run macOS on something else you are breaking a legal agreement with Apple. You might think you could get away with that, but remember you are going to be asking them to approve your app, don’t give them any reason to say no!
Our second reason not to attempt to run Xcode on something other than a Mac is 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 is one other option, you could code on an iPad, but we think you’d probably end up regretting it.
If you think that iPad coding is for you, our colleagues on Techworld have this article: Best iPad apps for programming.
What’s the best value Mac for coding
We used to think the best value Mac for developers was the 13in MacBook Pro that costs £1,249/$1,299, although we’d recommend adding 16GB RAM at point of sale for £1,399/$1,399 if you can afford it. Buy a 13in MacBook Pro here.
However, since they were updated in 2018 the Mac mini and MacBook Air have become worthy contenders, and since both of those options are cheaper than the MacBook Pro, then we'd have to recommend them over it if your decision boils down to value for money. Buy a MacBook Air here.
Even without the price difference we'd still go with the Air because of the increased portability.
However, if you have money to spare then the mid-range MacBook Pro that Apple updated in May 2020 - the model that starts at £1,799 - is a great option, with 16GB RAM, a new quad-core processor and all the benefits of Apple's pro range of laptops.
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 other 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.
If you really can’t afford an adequately specced Mac for programming your app on you could rent one. Have a look at Hardsoft Computers or Rent It to see what’s for offer, or take a look at macincloud and get access to Mac servers from $20 a month.
Discounts and deals
We also log the best Mac deals throughout the year, so we recommend these articles:
Best Mac for developers
So in conclusion, the 13in MacBook Air would be a good option for anyone looking for a Mac to build an iOS or Mac app on. We’d recommend the 256GB version, adding 16GB RAM at point of sale which would bring the price to £1,579. Buy a MacBook Air from Apple here.
Alternatively the MacBook Pro is a great choice for coding - especially if you are looking for something a bit more powerful. The 13in MacBook Pro with Touch Bar comes with 256GB SSD, add the 16GB RAM at point of sale to bring the price to £1,929. (You could of course choose an older MacBook PRo without Touch Bar but just be aware that those models are older). Buy a MacBook Pro from Apple here.
However, since coders will benefit from a big screen, we recommend that you also purchase a screen to plug into your MacBook Pro when you are at a desk. This will increase the cost by a few hundred more, so you could be looking at over £2,000/$2,000, in which case you might as well buy a 3.0GHz 6-core 27in iMac: adding 16GB RAM will bring its price to £1,929/$1,999. Buy an iMac from Apple here.
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
Take a look at Udemy's online Swift courses, too.