Macbook Pro 13 Vs 15 Developer
Macbook Pro 13 Vs 15 Developer
How fast does your MacBook need to be to comfortably code iOS apps with Xcode? Is a MacBook Pro from 2-3 years ago good enough to learn Swift programming? Let’s find out!
Here’s what we’ll get into:
Review and comparison between the 13' vs 15' 2019 MacBook Pro. The 15' now has a juicy 8-core for the top end spec. Which would you get? #2019MacBookPro Emai. I’m wondering how many developers travel with a MBP 13' vs 15'? I currently use a late-2012 13' for iOS development, but I’m pondering the 15' because Xcode is so resource hungry. On the downside, it is rather heavy Do you travel with a 15'? Do you wish you’d opted for the 13' instead? Cheers Ian P.S I’m asking developers specifically as system spec is more crucial than, say. I used both, the performance difference is huge. You can not get quad-core CPU with the 13' and the retina display on that 13' is unnecessary and a performance deficit IMHO. 15' on the other hand with the quad-core CPU and retina display is beauti. With longer battery life than the 13-inch MacBook Pro and the more flexible feature set of a two-in-one, the Spectre is a great choice for work and play. The backlit island keyboard is a pleasure. As a freelance web developer, my goal was to run dual screens from the MacBook Pro; one horizontal and one vertical. Forgetting all previous painful memories of setting up a new system – my old MBP was five years old after all – I took the plunge. A top spec 15-inch MacBook Pro and two 27-inch Dell monitors were on their way.
- The minimum/recommended system requirements for Xcode 11
- Why you need – or don’t need – a fancy $3.000 MacBook Pro
- Which second-hand Macs can run Xcode OK, and how you can find out
I’ve answered a lot of “Is my MacBook good enough for iOS development and/or Xcode?”-type questions on Quora. A few of the most popular models include:
- The 3rd- and 4th-gen MacBook Pro, with 2.4+ GHz Intel Core i5, i7, i9 CPUs
- The 2nd-gen MacBook Air, with the 1.4+ GHz Intel Core i5 CPUs
- The 4th-generation iMac, with the 2.7+ GHz Intel Core i5 and i7 CPUs
These models aren’t the latest, that’s for sure. Are they good enough to code iOS apps? And what about learning how to code? We’ll find out in this article.
My Almost-Unbreakable 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 between 2013 and 2018, were built on a 13″ MacBook Air with 8 GB of RAM and a 1.3 GHz Intel i5 CPU.
My first MacBook was the gorgeous, then-new MacBook White unibody (2009), which I traded in for a faster but heavier MacBook Pro (2011), which I traded in for that nimble workhorse, the mighty MacBook Air (2013). In 2018 I upgraded to a tricked out 13″ MacBook Pro, with much better specs.
Frankly, that MacBook Air from 2013 felt more sturdy and capable than my current MacBook Pro. After 5 years of daily intenstive use, the MacBook Air’s battery is only through 50% of its max. cycle count. It’s still going strong after 7 hours on battery power.
In 2014, my trusty MacBook Air broke down on a beach in Thailand, 3 hours before a client deadline, with the next Apple Store 500 kilometer away. It turned out OK, of course. Guess what? My current MacBook Pro from 2018, its keyboard doesn’t even work OK, I’ve had sound recording glitches, and occasionally the T2 causes a kernel panic. Like many of us, I wish we had 2013-2015 MacBook Air’s and Pro’s with today’s specs. Oh, well…
Learn how to build iOS apps
Get started with iOS 14 and Swift 5
Sign up for my iOS development course, and learn how to build great iOS 14 apps with Swift 5 and Xcode 12.
That 100 Mhz i486 PC I Learned to Code With
When I was about 11 years old I taught myself to code in BASIC, on a 100 Mhz i486 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 web development with PHP, MySQL and HTML/CSS. I coded a mod for Wolfenstein 3D on that machine, too.
We had no broadband internet at home back then, so I would download and print out coding tutorials at school. At the one library computer that had internet access, and I 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 disk.
Later, when I started coding professionally around age 17, I finally bought my first laptop. My own! I still remember how happy I was. 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. Those were the days!
Xcode, iOS, Swift and The MacBook Pro
The world is different today. Xcode simply doesn’t run on an i486 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 Swift code in a cloud-based Git repository somewhere.
Macbook Pro 13 Inch Sale
Make no mistake: owning a MacBook is a luxury. 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 person. When their conviction is wavering, you dig in your heels, you keep going, you persevere, and you’ll win.
Winning in this sense isn’t like winning a race, of course. You’re not competing with anyone else; you’re only really up against yourself. If you want to learn how to code, don’t dawdle over choosing a $3.000 or a $2.900 laptop. If anything, it’ll keep you from developing the grit you need to learn coding.
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. I leapfrogged my way from one hand-me-down computer to the next. I’m not saying you should too, but I do want to underscore how it helped me develop character.
If you want to learn how to code, welcome adversity. Be excellent because of it, or despite it, and never give up. Start coding today! Don’t wait until you’ve got all your ducks in a row.
Which MacBook is Fast Enough for Xcode 11?
The recommended system specs to run Xcode 11 are:
- A Mac with macOS Catalina (10.15.2) for Xcode 11.5 or macOS Mojave (10.14.4) for Xcode 11.0 (see alternatives for PC here)
- At least an Intel i5- or i7-equivalent CPU, so about 2.0 GHz should be enough
- At least 8 GB of RAM, but 16 GB lets you run more apps at the same time
- At least 256 GB disk storage, although 512 GB is more comfortable
- You’ll need about 8 GB of disk space, but Xcode’s intermediate files can take up to 10-30 GB of extra disk space
Looking for a second-hand Mac? The following models should be fast enough for Xcode, but YMMV!
- 4th-generation MacBook Pro (2016)
- 3rd-generation Mac Mini (2014)
- 2nd-generation MacBook Air (2017)
- 5th-generation iMac (2015)
When you’re looking for a Mac or MacBook to purchase, make sure it runs the latest version of macOS. Xcode versions you can run are tied to macOS versions your hardware runs, and iOS versions you can build for are tied to Xcode versions. See how that works? This is especially true for SwiftUI, which is iOS 13.0 and up only. Make sure you can run the latest!
Pro tip: You can often find the latest macOS version a device model supports on their Wikipedia page (see above links, scroll down to Supported macOS releases). You can then cross-reference that with Xcode’s minimum OS requirements (see here, scroll to min macOS to run), and see which iOS versions you’ll be able to run.
Further Reading
Awesome! We’ve discussed what you need to run Xcode on your Mac. You might not need as much as you think you do. Likewise, it’s smart to invest in a future-proof development machine.
Whatever you do, don’t ever think you need an expensive computer to learn how to code. Maybe the one thing you really want to invest in is frustration tolerance. You can make do, without the luxury of a MacBook Pro. A hand-me-down i486 is enough. Or… is it?
Want to learn more? Check out these resources:
Learn how to build iOS apps
Get started with iOS 14 and Swift 5
Sign up for my iOS development course, and learn how to build great iOS 14 apps with Swift 5 and Xcode 12.
One of the biggest issues I had when buying the new MacBook was what size to go with. I've always been a 13' kinda guy, erring on the side of portability, but I knew it was a tradeoff. Part of my hangup was that of skepticism. It's easier to feel the difference in portability of the machines in-hand, but real-world performance is harder to judge. Geekbench benchmarks are good indicators, but those aren't a perfect representation of real-world affects of that choice will make.
And it isn't like Apple lets you test out Xcode projects on floor units.
There were two things I wished I had better information on when shopping for a new laptop: Xcode build times, and screen real-estate while coding. So with my new MBP in-hand, and the help of some friends, I've compiled some real-world data about the differences from a developer's perspective.
Hopefully others might find this brief bit of information useful.
Screen Size
Interface Builder is where I always felt the most constrained on a 13' laptop. Here's a comparison of 13' vs 15' IB, in my default layout when editing a storyboard in Slopes, using the default scaling size on retina screens:
I didn't think 15' would make a huge difference, but I've almost doubled my canvas area when I'm on the go. I can actually see an entire view controller at a time without collapsing panels. Of course, this doesn't hold a candle to what I work in when I'm at my desk on my 27' external monitor:
Build Times
2016 Touch Bar 13' vs 15'
Of more interest to me was how moving from the 13' to the 15' would effect build times. Not only does one hop CPU families with the size change (from i5 -> i7), but you're also doubling the cores (which is more important).
Note: Geekbench links are not specific to the machines that ran the tests, but representative of the top scores for that configuration I could find. We made sure no other processes were hogging the CPU or disk when the tests were started.
Soroush was willing to run my test on his new 13' to compare to my results on a 15'. Geekbench shows a ~20% improvement in single-core tasks, and ~70% improvement in multi-core when you go from the 2.9ghz i5 in the 13' line to the 2.7ghz i7 on the 15' line.
Of course the real-world answer will be somewhere in between.
We grabbed Artsy's app (thanks for open sourcing that, folks!) as its code-base is very real-world-app in size. Then we ran their setup while also turning on Xcode's build-time reporting flag so we didn't need to manually stopwatch this and introduce human error. Lastly we ran some clean builds of it using Xcode 8.1.
Test Process:
- Grab and setup their project:
- Do a build, let it finish indexing
- Clean, then clean build folder / delete derived data
- Build
- Repeat 2 - 4 3x times to get an average
Results
- 2016 15” i7 2.7ghz 16gig RAM: avg 62s
- 2016 13” i5 2.9ghz 16gig RAM: avg 88s
Amazon Macbook Pro 13
The i7 saw a average of 30% speedier build times. That's more than the single-core score improvement from Geekbench, but nowhere near the multi-core score. It was somewhere in the middle. A healthy jump, still, and clear why so many developers swear by the 15'.
Vs a 2 Year old rMBP
I still have my 2014 rMBP 13' as I get ready to sell it, so I ran the tests there, too. According to geekbench the single-core improvements should be 5%, and multi-core should be 20%. The real-world results?
- rMBP 2014 13” i5 2.6ghz 16gig RAM: avg 103s
Macbook Pro 13 Vs 15 Developer Mode
From the 2014 rMPB 13' to the 2016, both spec'd with the baseline dual-core i5 CPU offered, Xcode is building the same project about 14% faster.
Now, the slightly improved CPU isn't the only change to happen since the 2014 model. At a time when Intel's improvements are slowing, Apple has made huge improvements to SSDs, and that likely has a noticeable impact here, too.
Vs an Older Desktop
Joe was also curious about these real-world numbers as he's considering a new machine, so he ran the same test on his maxed-out 2012 iMac i7. (Geekbench for his machine's configuration.)
- iMac 2012 27' i7 3.4ghz (fusion drive) 24gig RAM: avg 61s
Macbook Pro 15.4 Best Price
It's interesting to see how laptops fair vs raw desktop power. The 15' i7 2016 rMPB has just now caught up with a maxed-out i7 iMac from four years ago. This shouldn't be surprising, laptops always have to trade off a lot to be portable, but it at least gives us an idea where modern-day power curves are.
Addendum:
I've been getting replies as more people run the benchmarks and send in their findings. All below are SSDs unless otherwise noted. Here's a complete list in order of speed.
Disclaimer: as I get more of these in, it's hard to guarantee these numbers as perfect samples as multiple factors can affect these benchmarks. This isn't a lab where I can image every Mac to be the same, so I'd grain of salt these results appropriately.
New Macbook Pro 13 2020
- Arek's 2015 iMac 5k i7 4.0ghz 16gig RAM: avg 46s
- David's 2013 Mac Pro Xeon E5 6-core 3.5ghz 64gig RAM: avg 47s
- Troy's 2016 rMBP 15' i7 2.9ghz 16gig RAM: avg 53s
- Joe's 2012 iMac 27' i7 3.4ghz (fusion drive) 24gig RAM: avg 61s
- My 2016 rMBP 15” i7 2.7ghz 16gig RAM: avg 62s
- Roland's 2013 rMBP 15' i7 2.7ghz 16gig RAM: 64s
- Alfredo's 2012 rMBP 15' i7 2.3ghz 8gig RAM: avg 75s
- Soroush's 2016 rMBP 13” i5 2.9ghz 16gig RAM: avg 88s
- Kuba's 2012 iMac i5 2.9ghz 16gig RAM: avg 97s
- Nicholas's 2009 iMac 27' i5 2.66ghz 16gig RAM: avg 97s
- Mateusz's 2011 MBP 15' i7 2.2ghz 8gig RAM: avg 101s
- My 2014 rMBP 13” i5 2.6ghz 16gig RAM: avg 103s
- Kuba's 2015 MacBook Air i7 2.2ghz 8gig RAM: avg 118s
- Joe's 2015 MacBook 12' Core M 1.3ghz 8gigs RAM : avg 160s
No real big takeaway here, I had no point to make. Just trying to help anyone else with the decision with some info I wish I had available.
Macbook Pro 13 Vs 15 Developer