If you're an app developer, or are considering trying your hand at creating your own app in the future, you've come to the right place. Here, we look at which Mac is best for developers.
Apple's Swift programming language means that creating and building an app for MacOS or iOS is more accessible than ever, and it's easy to get them onto the App Store in order to sell them too.
If you're keen on learning app development, this article will also give you some pointers about what you'll need to get started with app development once you've got the right Mac.
How much power does your Mac need?
Choosing the right Mac for development can be a challenge. Apple creates a whole range of Mac laptops and desktop computers. All Apple Macs are great computers but some are better suited to app development than others.
If all you want to do is start to learn development and get a regular app onto the app store then any of Apple's current Mac line-up, including its laptops, should be powerful enough to do the job.
Unlike creating video or music; creating code doesn't use up huge amounts of hard drive space, and if you're creating iOS apps you don't need a lightning-fast processor or a high-end graphics card.
Obviously, this doesn't narrow the choice down much (or at all, for that matter). It now becomes a question of how much money you want to spend, and which will provide the best coding environment.
Also, we help you decide between Apple's MacBook laptop ranges and Apple's Mac desktops.
What screen size is best for app development?
What is useful for software development is screen estate. Coding is a complex task that sometimes requires intense focus, but more often it requires research and tracking.
Coders often need to have several programs and windows open at once: the Xcode developer environment, web browser, and perhaps a separate text editor, SQL Database editor, and much more. Development seems to be one of a task that requires everything MacOS has to offer.
So you need a Mac with a big screen, or you need to attach a big screen to your Mac.
With this in mind we're actually going to rule out all of Apple's MacBook range.
Let’s be clear: if you value a notebook and portability is important to you, then a MacBook, MacBook Air or MacBook Pro will do just fine for app development, and you can attach a monitor to these models for larger screen estate. (Find out more in our complete guide to buying a MacBook).
But with a MacBook you pay a lot extra for a small screen that will feel cramped when programming, so if portability is important we'd look to Apple's Mac range instead.
What's the best value Mac for app development?
The Mac Pro is overkill for most developers so the choice is between an iMac or Mac mini with a display.
At £479 the Mac mini is the best value Mac, and it offers more than enough power and storage for app development. What it doesn't come with is a display, so you'll need to source one separately. (View the Mac mini in the Apple Store here).
Normally the idea with the Mac mini is that you attach an old display, keyboard and mouse and it represents top-flight Apple computing at a fraction of the cost. However, for app development we suggest that you get a large display.
If you are looking for a more powerful Mac with a big display then Apple has you covered in the form of the iMac. (View the iMac in the Apple Store here)
You should get a model with a 27inch display, which starts at £1,749. It's not as cheap as the Mac mini but you do get a lot of extra for your money.
The 27-inch iMac is a veritable powerhouse: a 3.2Ghz Intel i5 processor, 1TB hard drive, discrete AMD graphics card with 2GB video memory, and of course that massive 27-inch display. If you’re looking for a large-screen Mac that also has enough power for gaming then this is the one to go for.
We'd advise most new developers to go for the Mac mini with the AOC display. The Mac mini is a cheaper option than the iMac and the extra cash can be put towards software or training courses.
The 27-inch iMac is a better Apple Mac and you get a lot of extra features: such as the fast processor, large 1TB hard drive and AMD graphics card. They're nice features, for sure, but they offer little towards developing apps. Mind you, if you’re also planning to use a Mac for gaming and general all purpose computing you might appreciate the extra power.
How do you create a program on a Mac?
Apple goes to great lengths to make it easy to develop apps (or small programs) for both MacOS and iOS. The development environment used to create apps for both is called Xcode, and this is a free download from the Mac App Store.
With Xcode you can build apps using two programming languages, the old Objective-C language, and the newer Swift programming language.
Uploading and selling Apps via iTunes requires a yearly subscription to the Apple Developer connection, but it's good value at $99 per year (approx £77). You only need this to upload and distribute apps via the Mac and iOS App Stores however, you don't need to pay this fee just to test and create apps.
If you're interested in getting started in iOS app development, the following articles will help:
Take a look at Udemy's online Swift courses, too.
Apple Mac accessories and software for developers
Developers don't need as many accessories as other Mac users. A good Mac, a decent sized display and a good reference library and you're good to go.
The only exception we'd make is to invest in a good backup system in case there are any problems. Apple's own Time Capsule is a great solution. Alternatively, invest in a good USB external hard drive and use Apple's Time Machine software to perform regular backups.
There is also wealth of software that's good for developers. Here are some recommendations:
- Acorn: A powerful image editor that's a fraction of the cost of Photoshop
- BBEdit: Industry favourite text editor
- CodeRunner: Great alternative to Xcode for light programming tasks.
- Dev Color Picker: Makes getting colours out of programs and into your apps a breeze.
- Dropbox: Great for syncing files for remote access.
- Evernote: Perfect place to store programming notes.
- Ember: Ability to take detailed screen grabs of programs and websites