Is A MacBook Pro Good Enough For iOS Development?

Written by Reinder de Vries on April 12 2017 in App Development

Is A MacBook Pro Good Enough For iOS Development?

How fast of a MacBook do you need to comfortably code iOS apps? Is a MacBook Pro from two years ago good enough to learn how to code? Let’s find out!

Recently I’ve been getting a lot of “Is my MacBook good enough for iOS development?” questions on Quora.

The most popular, questioned models include:

  • The fourth-generation 2012 to 2016 MacBook Pro models, with the ~ 2.5 Ghz i5 and i7 Intel CPUs
  • The lighter 2012 to 2015 MacBook Air models, with the ~ 1.5 Ghz i5 Intel CPUs
  • The thin 12-inch MacBook, with the 1.2 Ghz m3 Intel CPUs

Those models aren’t the latest, but are they good enough to code iOS apps with? What about learning how to code?

My 2013 MacBook Air

Since 2009 I’ve coded more than 50 apps for iOS, Android and the mobile web. Most of those apps, including all apps I’ve created since 2013, were built on a 13-inch MacBook Air with 8 GB of RAM and a 1.3 Ghz Intel i5 CPU.

My first MacBook was the then new MacBook White unibody, which I traded in for a faster MacBook Pro (2011), which I traded in for my current, lighter MacBook Air.

I’m happy to report that after three years of intensive daily use, the battery of the MacBook Air is only through 50% of it’s maximum cycle count and still lasts 7+ hours on battery power.

In 2014, my trusty MacBook Air broke down on a beach in Thailand, 3 hours before a deadline, with the next Apple Store 500 kilometer away…

Frankly, I don’t think I’ll ever upgrade my current machine, but we’ll get to that in a second…

Learn how to build iOS apps

Get started with iOS 12 and Swift 4

Sign up for our iOS development course Zero to App Store and learn how to build professional iOS 12 apps with Swift 4 and Xcode 10.

That Good Ol’ 100 Mhz i386 PC…

When I was about 11 years old I taught myself to code in BASIC, on a 100 Mhz i386 PC that was given to me by friends. It had a luxurious 16 MB of RAM, initially only ran MS-DOS, and later ran Windows 3.1 and ’95.

A next upgrade came as a 400 Mhz AMD desktop, given again by friends, on which I ran a local EasyPHP webserver that I used to learn PHP, MySQL and HTML/CSS.

Back then, we had no broadband internet at home, so I would download and print out coding tutorials at school, at the one library computer that had internet access, and completed the tutorials at home. The source codes of turn-based web games, JavaScript tidbits and HTML page snippets were carried around on a 3.5″ floppy.

Later, when I started coding professionally around age 17, I finally bought my first laptop. I got my first gig as a freelance coder: creating a PHP script that would aggregate RSS feeds, for which I earned about a hundred bucks.

Xcode, iOS, Swift and The MacBook Pro

The world is different today. Xcode simply doesn’t run on an i386 PC, and you can’t save your app’s source code on a 1.44 MB floppy disk anymore. Your Mac probably doesn’t have a CD drive, and you store your source codes in the cloud.

Make no mistake – owning a MacBook Pro is a luxury. It’s not because learning to code was harder 15 years ago, and not because computers were slower back then. It’s because kids these days learn Python programming on a $25 Raspberry Pi.

I recently had a conversation with a young aspiring coder, who complained he had no access to “decent” coding tutorials and mentoring, despite owning a MacBook Pro and having access to the internet. Among other things, I wrote the following:

You’re competing with a world of people that are smarter than you, and have better resources. You’re also competing against coders that have had it worse than you. They didn’t win despite adversity, but because of it. Do you give up? NO! You work harder. It’s the only thing you can do: work harder than the next guy. When his conviction is wavering, you dig in your heels, you keep going, you persevere, and you’ll win.

(Fortunately my remarks didn’t fall on deaf ears, and we’ve continued our conversations.)

Great ideas can change the world, but only if they’re accompanied by deliberate action. Likewise, simply complaining about adversity isn’t going to create opportunities for growth – unless you take action.

If you want to learn how to code, be welcoming to adversity. Achieve excellence because of it, or despite of it, and never give up.

Learn how to code your own iOS apps by mastering Swift 4 and Xcode 10 » Find out how

The State of The MacBook Pro

Recently, Apple released an upgrade for the MacBook Pro. Better specs, newer operating system, and a “Touch Bar”.

Many professional MacBook owners voiced their concern over the direction Apple’s hardware is taking, understandably arguing that their beloved designer machine appears to rather cater to the needs of entitled Millennials than the actual needs of professionals that rely on Apple’s hardware to produce value.

When life gives you lemons…

My trusty 2013 MacBook Air has to give out at some point, and I’m not sure what its replacement is going to be. A cheap netbook, and a second-hand Mac Mini in the cloud? Maybe I’ll install Ubuntu Linux, and run macOS on a virtual machine.

Is A MacBook Pro From 2015 Fast Enough?

Yes, it sure is. The recommended specs to run Xcode are:

  • An Intel i5 or i7 equivalent CPU, so ~ 1.5 Ghz should be enough (I can do with 1.3…)
  • At least 4 GB of RAM, but 8 GB lets you run more programs at the same time (Do you really need to?)
  • At least 128 GB disk storage, although 256 GB is more comfortable

Screen size is a matter of habit, and taste. I’m used to working on a 13″ screen, because I want to be able to work from coffeeshops or airport lounges. When I really need more screen space, I connect a cheap 24″ external monitor. I know developers that travel around with a 15.6″ external monitor.

Perhaps the one thing you really want to invest in is frustration tolerance, because you can really do without that MacBook luxury machine…

Photo credit: Sean MacEntee, CC BY 2.0

Reinder de Vries

Reinder de Vries is a professional iOS developer. He teaches app developers how to build their own apps at LearnAppMaking.com. Since 2009 he has developed a few dozen apps for iOS, worked for global brands and lead development at several startups. When he’s not coding, he enjoys strong espresso and traveling.

Leave a Reply

Required to post: Your real name and email address, and a pleasant demeanor. Your email address will not be published. Markdown is supported.

  • Dear Reinder,
    I would love to sign up for your course and learn everything needed to know how to develop/program my own apps, but I have a problem. I have an imac I purchased on November/2014 and I've tried to use it with xcode just to dabble a little with it but for some reason it doesn't seem to work for ios 10.5.6 on sierra. My question is "Do I need to get another computer and which one should I get? Or is it as easy to look in my computer and find the problem? (even if I don't know how.)

    1. Reinder de Vries September 10, 2018 15:45 in reply to Tony

      Hmm. I wouldn't just get a new Mac without checking, that's for sure ;-) What exactly doesn't work? Do you get an error message somewhere?

      In order to work with the latest iOS version, make sure to update Xcode and macOS to the latest versions too. You can look up your iMac model online to find out the maximum macOS version it supports (and subsequently, which Xcode version). Hope that helps!

  • Is MacbookPro 2012 (16gb ram, 512gb ssd, i7, 2.5ghz) is still ok for xcode?

    1. Reinder de Vries August 27, 2018 11:46 in reply to Jay

      The specs are OK, but you'd have to check if your exact MacBook model can still run the latest macOS, Xcode and Swift versions.

  • That’s what I’ve been asking lately. Never owned a Mac. Have chance of Mac Pro 3.1. It’s learning the Xcode environment that interests me most. Would the 3.1 be good enough to run any version of Xcode to allow me to start out?

    I’m thinking if it becomes something I can do then I can think let’s get up to date with newer model. I’m 47 and really don’t know if I have what it takes to get learning the coding but I’m keen to. Great article btw. 👍🏻

    1. Reinder de Vries August 24, 2018 16:52 in reply to Mark

      What's the Mac's model? I'm assuming you mean the Mac Pro from early 2008, but not sure.

      1. Mark August 24, 2018 17:11 in reply to Reinder

        Ah yes 3.1 2008 apologies if this reply has been posted. Phone died and wasn’t sure. I’ve just been looking more and bookmarking you site. Seeks wealth of info. Seller says iOS can be upgraded.

        The specs include (for £200)

        Intel Xeon Dual Quad-Core 2.8Ghz (8 cores total)

        12GB RAM
        Dual GPUs. ATI Radeon HD5770 1GB VRAM (1x HDMI, 1x DisplayPort, 2x DVI), and HD2800 XT (2x DVI)
        Dual CD/DVD Optical Drives
        1TB Storage over two HDD drives
        2x Firewire 800, 2x Firewire 400, 2x 1 Gigabit Ethernet, 5x USB 2.0, Audio Toslink In/Out, Headphone & Speaker out
        Running OS X Yosemite but can be upgraded.

        1. Reinder de Vries August 24, 2018 17:23 in reply to Mark

          Hmm. If you can spare it, it's worth a try. The only problem I see is that this Mac only supports OS X up to El Capitan (10.11). And OS X El Capital supports Xcode up to version 8.2, and Swift version 3.0. So it's slightly outdated at best, but that shouldn't stand in the way of getting started with iOS development.

          1. Mark Canavan August 24, 2018 18:03 in reply to Reinder

            The price grabbed me but I’ve also seen later 2009 4.1 that I could stretch to that but if was better to run later versions of Xcode. Budget of £400.

            Right now I’m looking at your most excellent learnAppmaking course. Given my age and beginner status would like a capable machine that can work along side the course. I’m getting to excited now 😂 I see groupon and wowcher with good deals on the Mac books so could also be an option perhaps they all seem to be El Capitan os but I hear Mac-pro 4.1 can be upgraded to 5.1 (hack)even the latest os mojave (rumours perhaps) but again thanks for replies and advice.

          2. Reinder de Vries August 24, 2018 19:00 in reply to Mark

            Sure thing! The Wikipedia pages on Xcode, macOS and different Mac models can usually tell you what runs on what.

          3. Mark Canavan August 25, 2018 23:39 in reply to Reinder

            Hi Reinder. Back again and hate to bug but It’s a minefield our there. So the pre mentioned Mac Pro 3.1 is well within my budget. Running Xcode 8.2 and swift 3 SEEMS to ME to be a good entry into coding no?

            I understand the upgrade to Mojave and latest Xcode are probably essential for those already coding their next big app out there across the apple platforms.

            I think most use will be following tutorials and learning the code and practice along the way. That will take me a while I’m sure.

            In terms of ram a processor it seems more powerful than machines that are double the price. I’m itching to get get started as soon said and need to take a plunge somewhere. At least I can get started without to much out of pocket although I will consider a pro 4.1 (2009)

            As you are a developer andrelease apps and have explained your own past setups I feel confident in your comments and guidance here.

            Can I ask? Ultimately I’m thinking of music audio apps ( a drum synth) to be exact. That would be my ultimate goal. I am assuming I could find my way to that route by learning Xcode and swift. Would I be wrong or looking in the wrong direction for these type of apps?

            Next time I post I’m hopefully letting you know I’m up and running with a capable Mac 😂👍🏻

            And sincerely thanks for your time and replies.

          4. Reinder de Vries August 26, 2018 14:10 in reply to Mark

            Hmm. It's not a matter of CPU/RAM, I think. First, let's address biggest issue here: we're talking about a computer that's designed and built 10+ years ago. It's second-hand, comes with no warranty, and it can't run the latest versions of macOS, Xcode and Swift.

            Swift versions and CPU power have little to do with each other. A problem I see is that you'll learn Swift, come across a Swift 4 or 5 feature, add it to your Swift 3 codebase, and run into errors or bugs. That might lead to frustration. Another problem is that you can't upload new apps to the App Store with an outdated SDK/Xcode. Since July 2018 you need at least iOS 11.

            As for the app you want to build, do that gradually. Start with something simple first, like the apps we build in our Zero to App Store course here, and then work your way up into more complex projects. It's easier to upgrade the complexity of your projects because you feel confident and have a little breathing room, than to downgrade project complexity out of frustration.

            A drum synth sounds great, but that probably means you'll have to get into signal processing and working with the audio hardware directly. What about making a 3x3 sample pad first? Load it up with TR 808 sounds, and maybe add a sequencer later on.

  • Hi, because i dont have Mac am going to purchase Apple MacBook Air Laptop, 11.6", Intel Core i5 Dual Core, Intel HD Graphics 6000 because i have only small budget to pay so kindly is this Mac Air can hold big projects in Xcode (e,g Uber App )or it will be hang & not good for developers?

    1. Reinder de Vries April 29, 2018 20:01 in reply to Mosen

      I recommend against using an 11" screen for development, it's too small, and the keyboard can also be uncomfortably tight. As for the specs, I stand by my recommendations in this article. Whether that Mac model works for you really depends on your own preferences. If it's a professional app, you might want to consider asking your employer to pay for decent gear!

  • Reinder de Vries January 28, 2018 21:57

    Awesome! Yes, those were the times. You'd have to first shut down Windows, and then switch of your PC. You'd install games with 7 floppy disks. Mice did not have scroll wheels. And we'd only get X minutes of dial-up a day...

    So, whether you should hire a developer to port your app to iOS depends on a lot of factors. Do you know how to make that investment back, i.e. the project cost vs. revenue from In-App Purchases? What about your audience, do they use iPhone? Do you have experience hiring a freelancers? If not, how can you make your project successful? My advice is: do some research, try to figure out the "edges" of your project, and then make an informed decision.

    Good luck & thanks for commenting!

  • I whole heartedly disagree with the minimum requirements for Xcode. Minimum requirements for software have been a joke for more than a decade. Your statement about frustration tolerance is not being sympathetic to new developers. There is no way that you can run the simulator or a good size storyboard with the minimum requirements and still be an effective iOS Developer or have someone trying to learn who has to deal with slow equipment and the horrendous learning curve of iOS development. I have a 2011 MacBook Pro that has been upgraded with 2 GHz processor, 16GB ram@ 1600MHz (I believe), and a SSD drive. The storyboard lags a lot to the point that it's a headache. The iOS simulator takes a long time to load, in fact I go get coffee, comeback, and it may just be loading the app. Take into account the iterative process of having to make a change, compile, and run the simulator, test it on the iPad simulator and it takes a long time. Add running any GUI design applications (Adobe CC app), Postman, network traffic inspector, remote into an AWS server that supports your app. After 3-4 hours my MacBook Pro fan is nonstop and it’s so slow. Apple's new MacBook Pros are a real disappointment and they should have at least gave folks a 32GB RAM option.

    1. Reinder de Vries November 15, 2017 21:45 in reply to Joe

      Thanks for pitching in here Joe! I think you make a fair point.

      As I've outlined in the article, my experience with a 2013 MacBook Air has been OK. Not great, but not bad either.

      What you're saying about a slow storyboard in Xcode may not be solvable by more & faster hardware. I've had issues with Xcode 8.3 where code completion would eat up 200% CPU, and I don't think a faster CPU would have helped there. Using Simulated Metrics in Interface Builder would hang Xcode – nothing I could do about that either.

      What would you have me do – dissuade beginner developers to pick up iOS development because the only hardware that runs macOS and Xcode is too slow? If that were true, the App Store would be empty.

      I recommend people be mindful of the tools they use. I stay away from Storyboards because they don't add much over individual XIBs. I don't run the Simulator for every code change I make. I don't run dozens of Mac apps at the same time – I can only use one at the same time anyway, and at certain points in my workflow I only need one app next to Xcode (Sketch, Terminal, etc.) When Xcode is slow, I restart it, and that may be smart for memory hogs like Photoshop, too.

      So yes, my advice may not be as sympathetic as you want it to be. But it certainly is empathetic to a point where I give people advice that helps them, instead of telling them to buy a faster Mac. It won't solve their problems.

    2. James Chau April 8, 2018 01:05 in reply to Joe

      I'm thinking of ditching my 2009 macbook pro that has 8 gb RAM, 480 gb SSD mainly because it cannot install MacOS newer than El Capitan. What do you think?

      1. Reinder de Vries April 8, 2018 10:44 in reply to James

        Hmm. It's up to you! Another reason for upgrading is that you need a recent version of macOS to run recent versions of Xcode.