Do you have a great idea for an iOS app or a Mac app? Looking for the right machine 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 the minimum Mac you need for coding.
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 coding.
Why you need a Mac for iOS (and 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 £70) and gives you access to beta software, advanced app capabilities, extensive beta testing tools, and app analytics (more information here.)
- 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 9.2. 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 that includes Swift 4 and SDKs for the latest versions of iOS, watchOS, tvOS, and macOS. Note that Xcode requires macOS Sierra 10.12.6 to run, so you also need…
- A Mac that can run macOS Sierra 10.12.6 (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:
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.
Want to know more about programming on a Mac? Read:
- How to make apps with Apple Swift 4
- 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.
How to choose the best Mac for programming
We have already established that you will need a Mac that can run macOS Sierra 10.12.6 in order to use Xcode, and here are the computers that fit the bill:
- MacBook (Late 2009 or newer)
- MacBook Pro (Mid 2010 or newer)
- MacBook Air (Late 2010 or newer)
- Mac mini (Mid 2010 or newer)
- iMac (Late 2009 or newer)
- Mac Pro (Mid 2010 or newer)
- 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.
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 15in MacBook Pro. But would a 13in MacBook Pro, or an even cheaper MacBook Air suffice? And would a 12in MacBook be out of the question?
As for the difference between a 15in and a 13in MacBook Pro - the 13in models will probably suffice. Our main recommendation here is to not get a MacBook Air. A 13in MacBook Air screen isn’t comparable to a 13in MacBook Pro screen because the former isn’t Retina (if you are looking for more reasons not to buy a MacBook Air we have a section further down).
When it comes to the screen size on a laptop, choosing a MacBook with a Retina display make a use 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.
As for a 12in MacBook, it’s a good option if your main priority is finding something small and light, but the 13in MacBook Pro isn’t much bigger or heavier and it has a lot more going for it for the same price. So we’d stick with the MacBook Pro.
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.
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 ship with 4GB RAM. In fact, 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.
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. Macs are famously hard to upgrade. In some cases it can be done, but doing so is almost never easy, and usually highly risky. 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. The MacBook Air and the Mac mini are still using a processor from 2015 while the rest of the line up are using newer Kaby Lake processors. 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 a quad-core, Core i7, or will a dual core, i5 suffice? 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 and a quad-core processor (or deciding whether to upgrade to an i7 chip) is less obvious. You probably will be just fine with an entry-level dual-core i5 processor for coding, 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.
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.
You might be looking at the MacBook Air and MacBook Pro and thinking that the MacBook Air a better option because Apple says that it offers 12 hours versus 10 hours of battery life on the Pro. Based on what we said above about the different displays, we’d strongly advise that 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 MacBook has only one USB C port which has to be used for charging too.
If you want to plug your MacBook 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 (or get a USB-C adaptor like one of these).
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 or MacBook, read on.
There are two sizes of MacBook Pro - 13in and 15in - and both sizes have a Retina display, and there is the option of a Touch Bar with both.
While you might not see the benefit of opting for the Touch Bar, be aware that Apple has restricted the fastest processors to the Touch Bar models, so if you're expecting to do processor-intensive work you might have to suck it up and splash the cash for the more expensive upgrade.
The 15in model will give you more screen estate, which will be useful if you need more than one window open at once. It also ships with 16GB RAM as standard. Be careful though - if you don't want the Touch Bar, the non-Touch Bar 15in MacBook Pro is actually the only model that doesn't ship with a 7th-gen Intel processor, so will be less future-proofed.
The 13in MacBook Pro is still a good option though, you can get 16GB RAM as a build-to-order option, and it offers you a lot more power for your money than the similarly priced MacBook, and the slightly cheaper MacBook Air.
The MacBook Air is the cheapest Mac laptop you can buy - but it’s crippled by its older processor and the lack of Retina display. Plus it maxes out at 8GB RAM and MacBook Air RAM is not upgradable.
You are likely to struggle a bit if you are using Xcode and Photoshop at the same time on a MacBook Air. The only good thing about the MacBook Air is the battery life but that certainly isn’t a good reason to buy one.
Coding isn’t a particularly demanding task, but you will probably still find the MacBook to be a little underpowered, although more recent models are much more powerful than the earlier Retina MacBook models.
If you were to consider buying a MacBook we recommend updating the RAM at point of sale to 16GB.
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. Most have quad-core processors (with the exception of the entry-level model, which we would advise against buying because it has a mechanical hard drive). The biggest difference is really the price.
Take the 3.4GHz 21.5in iMac compared to the 3.4GHz 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.
Like the MacBook Air the Mac mini hasn’t been updated in a number of years. Although where the Air has had a few tweaks to the spec (RAM was increased to 8GB as standard, for example), the Mini is so neglected it still has only 4GB RAM as standard.
You can upgrade the RAM to 16GB and add a 256GB SSD at point of sale, which will bring the price of the 2.6GHz model to £1,039/$1,099, which is almost the price of the 13in MacBook Pro. So it might look like a bargain, but it isn’t really.
Mac Pro and iMac Pro
Frankly the iMac Pro and even 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.
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 2018.
What’s the best value Mac for coding
We think the best value Mac for developers is the 13in MacBook Pro which costs £1,249/$1,299, although we’d recommend adding 16GB RAM at point of sale for £1,429/$1,499 if you can afford it.
Sometime as much as you would love to own the best and most powerful Mac, the budget just won’t stretch that far, though. And maybe £1,249/$1,299 is more than you are willing 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.
Best Mac for developers
So in conclusion, the 13in MacBook Pro would be a good option for anyone looking for a Mac to build an iOS or Mac app on. It costs £1,249/$1,299, but we’d recommend adding 16GB RAM at point of sale for £1,429/$1,499. 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 £1,729/$1,799, in which case you might as well spend almost the same money on a 3.4GHz 27in iMac (£1,749/$1,799) but remember that adding 16GB RAM will bring the price to £1,929/$1,999. Buy an iMac from Apple here.