Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

timeconsumer

macrumors 68020
Original poster
Aug 1, 2008
2,137
2,178
Portland
As the title says, I'm looking for recommendations for iOS app development. I've never developed before but this is something I would like to learn. This will not be my main machine but will only be used for iOS development and probably watching tutorials/web browsing. For everything else I have a custom built windows computer.

Based on my research I've narrowed it down to two options.

Option 1: Mac Mini 2014
  • 2.6GHz Dual-Core Intel Core i5
  • 8GB DDR3 memory
  • 256GB Flash Storage
I've seen this on the Mac refurbished store for $759.

Option 2: MacBook Pro 13.3" 2.3GHz dual-core Intel Core i5 with Retina display
  • 13.3-inch (diagonal) LED-backlit display with IPS technology; 2560-by-1600 native resolution at 227 pixels per inch
  • 8GB of 2133MHz LPDDR3 onboard memory
  • 128GB PCIe-based onboard SSD
  • 720p FaceTime HD Camera
  • Intel Iris Plus Graphics 640
This is on the Mac refurbished store for $1099. Then I would need the adapter to connect it to an external monitor, plus to get a USB port for a USB-hub to connect other things. The adapter is $69. So, that would run me approximately $1168.

Will I notice a huge difference in speed for the difference of $400? I don't really care about the portability, I'm just wondering since the Mac Mini is 3 years old now, if the $400 extra would be better spent on something newer for what I'm looking to use it for.

note: I'm not interested in an iMac as I have a nice display that works with my desktop. And I really don't want to spend more to get a higher-end MacBook Pro until I know how serious I am about this.
 
Last edited:
Take into account that the Mac mini may be three years old, but the processor inside it is still a Haswell, 4th-generation Intel Core CPU.

I don't know which generation of CPU is inside that 13" MacBook Pro, but whatever your choice is, they're both dual-core.

I'm guessing the MacBook Pro will have a better resale value if you ever wish to sell it in a few months/years.

Apart from that, the only major difference related to XCode would be the storage space. Will 128GB be enough room for macOS, Xcode and all the applications and ressources needed to make your application?

Of course, 128GB could be more than enough if you plan on keeping all the application assets on an external drive since you said you don't need the portability factor.

It might help others if you told us what kind of application you were planning on making.

Simple applications may not require much storage space, but a game will need audio and music files, bitmaps, maps, possibly 3D models and textures, etc. Of course, once compiled and compressed it could be much smaller but the source files could be much bigger (ex: PNG vs JPEG, AIFF vs AAC, etc).
 
  • Like
Reactions: timeconsumer
@Yvan256 thanks for the post. These are things that I did not consider. I would assume that I would care about the resale value on the MacBook Pro but not on the Mac Mini as I wouldn't plan to resell the Mac Mini, I'd likely just keep it and use it for whatever I needed it to be.

As far as the type of apps that I would like to make, I honestly don't know. I will be watching tutorials and then going from there. I don't plan to make any games and I would imagine that I would start with simple apps. I'm leaning towards the Mac Mini at this point based on what you mentioned. The extra storage would be nice plus the Mac Mini would have additional USB ports for attaching external drives for extra storage.
 
@Yvan256 thanks for the post. These are things that I did not consider. I would assume that I would care about the resale value on the MacBook Pro but not on the Mac Mini as I wouldn't plan to resell the Mac Mini, I'd likely just keep it and use it for whatever I needed it to be.

As far as the type of apps that I would like to make, I honestly don't know. I will be watching tutorials and then going from there. I don't plan to make any games and I would imagine that I would start with simple apps. I'm leaning towards the Mac Mini at this point based on what you mentioned. The extra storage would be nice plus the Mac Mini would have additional USB ports for attaching external drives for extra storage.
Mac Mini with the biggest monitor you can afford, a mac keyboard and trackpad make for a fantastic development machine. Getting started with Swift, I recommend something like:

https://www.hackingwithswift.com/read
Scroll down for 40 free tutorials that will really jump start your iOS development. Work really hard and in two months you could know more than half the developers already in the app store. At the very least, you will know enough to know what you do not know and how to get answers.

Good luck.

PS. The MBP13 would not be bad either, plus it is portable. I do most of my development on a MBP15 ( 75% ), but often go to my iMac27 for UI work. It's hard to have too much screen real estate.
 
  • Like
Reactions: timeconsumer
Mac Mini with the biggest monitor you can afford, a mac keyboard and trackpad make for a fantastic development machine. Getting started with Swift, I recommend something like:

https://www.hackingwithswift.com/read
Scroll down for 40 free tutorials that will really jump start your iOS development. Work really hard and in two months you could know more than half the developers already in the app store. At the very least, you will know enough to know what you do not know and how to get answers.

Good luck.

PS. The MBP13 would not be bad either, plus it is portable. I do most of my development on a MBP15 ( 75% ), but often go to my iMac27 for UI work. It's hard to have too much screen real estate.
Thank you, this is great information. I think I’ll start with a Mac mini + large monitor setup, then later on pick up a MBP.

I appreciate the site recommendation, I do plan to work very hard as this is something that I’m very interested in. Hopefully things will go well!
 
I work on iOS App for a living. Whatever you get, I would consider getting one with 16GB of RAM.

With just Xcode and simulator running on macOS Sierra they easily consume 6GB of RAM. You are gonna need Safari/Chrome with many tabs opened (API documentation/stack overflow/tutorials), plus debugger, Instruments and other dev tools running in the background as well. It will go past 8GB easily. Not to mention every new version of macOS / Xcode uses more memory.
 
  • Like
Reactions: timeconsumer
I work on iOS App for a living. Whatever you get, I would consider getting one with 16GB of RAM.

With just Xcode and simulator running on macOS Sierra they easily consume 6GB of RAM. You are gonna need Safari/Chrome with many tabs opened (API documentation/stack overflow/tutorials), plus debugger, Instruments and other dev tools running in the background as well. It will go past 8GB easily. Not to mention every new version of macOS / Xcode uses more memory.
This is an excellent point. Definitely 16GB Ram for development. You do not need the fastest processor by any means, as most of development is just a specialized text editor. But, the 16GB of RAM will go a long way to protect your sanity.
 
  • Like
Reactions: timeconsumer
2.6GHz Dual-Core Intel Core i5
You do not need the fastest processor by any means

I strongly disagree.

I'd consider both i5 and dual-core non-starters.

You'd be better off with a late 2012 quad-core i7 mini. It is significantly faster.

Unfortunately, Apple watered-down the mini line, and there is no current offering with quad-cores. There is a risk with the late 2012, and that's that it's getting old enough that it might be obsoleted by Apple soon. Hopefully, they will finally release a new Mini with quad cores or better before they do that. (If they stop offering OS upgrades, eventually you won't be able to run XCode...)

The 2014 Mac Mini is pathetic compared to the late 2012 i7.

http://browser.geekbench.com/v4/cpu/search?dir=desc&q=mac+mini+late+2012&sort=multicore_score
http://browser.geekbench.com/v4/cpu/search?dir=desc&q=mac+mini+2014&sort=multicore_score
http://browser.geekbench.com/v4/cpu/search?dir=desc&q=mac+mini+2014+i5&sort=multicore_score

as most of development is just a specialized text editor

Maybe if you are doing website development that's true. But for app development, you are alternating between using a text editor (and those text editors aren't always speed demons... especially when you are searching perhaps hundreds of files...) and building a project. Building can take SIGNIFICANT time. It does give you time to do the laundry, dishes, and get a covfefe, though!

My development environment might be a bit different than most... while I use XCode to build for iOS, I do cross-platform development (iOS, Android, soon will add Windows to current project) using a fairly hefty cross-platform framework (Rhodes). I do little Swift/Objective-C development (though I have done pure Objective-C projects in the past).

Most of my work is in Ruby (Rhodes runs compiled Ruby on the device) and HTML/CSS/Javascript (it uses a WebView). I do from time to time need to write a "native extension", which means either Objective-C for iOS, Java for Android, or C++/C for both. (Rhodes requires the Android NDK - Native Development Kit - so since I need the NDK anyway, I am free to use C++ and C.) The Rhodes framework itself has a mix of Ruby, C++, C, Objective-C (iOS) and Java (Android) and some large libraries.

I use a late 2012 Mac Mini 2.6Ghz i7 (quad core) with 16GB RAM and 1TB flash (OCZ Vector 180).

A "clean build" for me (now) runs maybe 10 minutes for iOS and 20 for Android. A rebuild without clean takes less. Before I upgraded from the original Fusion Drive to the OCZ flash, my Android clean builds ran 1/2 hour.

Aside, don't limit yourself to iOS apps. A Mac is the perfect development environment for cross-platform development or native development for multiple OSs. Of course, it is the only computer/OS you can LEGALLY develop for iOS/MacOS with. Android development is just a matter of installing Google's large and slow tools. You can do Linux and Windows development by using a VM. (I use VMWare). So, with a Mac you can develop for all of the above. You can't (legally) run a MacOS VM on another OS, and would probably have to jump through hoops to do so anyway.

As a developer, you can make use of the biggest, baddest rig you can afford. Most especially, bring on the cores! Fast flash drive is equally important - unfortunately, the late 2012 Mini maxes out at about 500MB/sec due to SATA III. Some newer Macs use different interfaces for flash that can deliver 2000MB/sec or more.

I realize you are just getting started, and probably want to minimize expense. But I think you will find that dual-core i5 a disappointment.

FWIW, my first Mac for development was a 2008 13" Aluminum Macbook. I still have it, and use it for travel fine for web browsing, but it is practically worthless for development today. Before that, it was always custom-build rack-mount PCs running either Windows or Linux. (e.g. generic rackmount case, whatever the latest/fastest mother board from Fry's or NewEgg... upgrade the CPU after a couple years, etc.)

Looking forward to the eventual release of an up to data modular Mac Pro. The iMac Pro is nice, but outrageously expensive and not very upgradable. I'd like something I can start with a lesser CPU option, and upgrade when the higher-end CPUs come down to earth, as I used to do with PC boxes.
 
  • Like
Reactions: timeconsumer
I strongly disagree.
Fair enough. Certainly, some will.

My goal is inform a new programmer of what tools would work. Not the best tools. It is better to start with something, than to not start at all. Let the job/hobby purchase the better equipment.

You are giving the point of view of an experienced developer to someone with little experience. I started programming on a TI99/4A. There is no need for specialized equipment when starting out. Let the job/hobby earn money to purchase more powerful equipment. Also, after a little bit of coding time, the new programmer will know how to tailor their future purchases buy knowing the weaknesses of the current system.

Just to repeat myself:
Start now with whatever you can.

PS. I've been writing software for over 30 years, listing the languages / development environments I know would be boring. Today I will use: Swift, Java, Javascript (ReactJS), HTML, CSS, PHP ( Ajax ) / JSON; mostly Swift and Javascript.

PPS. I would recommend a used Honda to a new driver, not a Porsche911R. The Porsche is an amazing machine, but most drivers do not need to start with sort of kit. After a couple years driving, they will have the experience to decide if the 911 is a better fit.
 
The PCIe flash in the Macbook is an attractive feature - but that's an awfully small drive. And 8GB RAM is a negative. (This is not upgradable, right?) At least the Mac Mini you can upgrade both the memory and the drive. (I think? Not sure on 2014... late 2012 for sure you can, I've upgraded both).

The Mini 8GB RAM is easily and cheaply upgradable. The flash is still on the small side but probably adequate. It helps that you have a good Windows box, so don't need to use the Mac for more general things like music/videos/photos if you keep those around And, anyway, those could go to an inexpensive USB external drive. You want your OS, desktop applications, development tools, SDKs, project files on flash if at all possible.

But the i5 and dual-core make both of these stinkers. I would urge you to keep looking, and to do consider the late-2012 Mini i7.

Both of your choices have the possibility of some high-speed external storage - but at a considerable expense for enclosure/PCIe interface/adapter for Thunderbolt 2 for the 2014 Mini or Thunderbolt 3/USB-C for the Macbook Pro - while it's true that the late 2012 Mini is limited to USB3 and Thunderbolt 1, so no matter which way you go there is a ceiling of about 500MB/sec.

Have you done any software development? Any former or informal learning? Really have your heart set on "app" development?

What is your goal? A career change? Personal satisfaction? Speculative indie app development?

You could certainly start learning on your current Windows machine, which I'm sure will beat the pants out of either of your Mac choices. You can do server development in either Microsoft or Linux/BSD environment (run a VM), you can do Android development, you can do desktop development. You can learn HTML/CSS/JS which I think is a necessary skill today regardless of what you are developing. If you've done no development at all, there is a lot to learn.

I'm not sure I would start with iOS/Swift. It won't give you a very good 10,000 ft view of things, and I don't think it's really a very good starting point.

The Macbook Pro will probably retain it's value better. It's a decent, current road-warrior for non-developers. The 2014 Minis are one of the biggest disappointments ever from Apple.

The late 2012 Mini i7 goes USED for about the same as the refurb 2014 you cited above. That should tell you something. But, yea, will probably need a drive and memory upgrade, and will be more costly if already comes with them. Since it is upgradable, though, you can do that incrementally.

Have you considered starting your development learning with a Raspberry Pi? ;)
 
Last edited:
  • Like
Reactions: timeconsumer
The PCIe flash in the Macbook is an attractive feature - but that's an awfully small drive. And 8GB RAM is a negative. (This is not upgradable, right?) At least the Mac Mini you can upgrade both the memory and the drive. (I think? Not sure on 2014... late 2012 for sure you can, I've upgraded both).

The Mini 8GB RAM is easily and cheaply upgradable. The flash is still on the small side but probably adequate. It helps that you have a good Windows box, so don't need to use the Mac for more general things like music/videos/photos if you keep those around And, anyway, those could go to an inexpensive USB external drive. You want your OS, desktop applications, development tools, SDKs, project files on flash if at all possible.

But the i5 and dual-core make both of these stinkers. I would urge you to keep looking, and to do consider the late-2012 Mini i7.

Both of your choices have the possibility of some high-speed external storage - but at a considerable expense for enclosure/PCIe interface/adapter for Thunderbolt 2 for the 2014 Mini or Thunderbolt 3/USB-C for the Macbook Pro - while it's true that the late 2012 Mini is limited to USB3 and Thunderbolt 1, so no matter which way you go there is a ceiling of about 500MB/sec.

Have you done any software development? Any former or informal learning? Really have your heart set on "app" development?

What is your goal? A career change? Personal satisfaction? Speculative indie app development?

You could certainly start learning on your current Windows machine, which I'm sure will beat the pants out of either of your Mac choices. You can do server development in either Microsoft or Linux/BSD environment (run a VM), you can do Android development, you can do desktop development. You can learn HTML/CSS/JS which I think is a necessary skill today regardless of what you are developing. If you've done no development at all, there is a lot to learn.

I'm not sure I would start with iOS/Swift. It won't give you a very good 10,000 ft view of things, and I don't think it's really a very good starting point.

The Macbook Pro will probably retain it's value better. It's a decent, current road-warrior for non-developers. The 2014 Minis are one of the biggest disappointments ever from Apple.

The late 2012 Mini i7 goes USED for about the same as the refurb 2014 you cited above. That should tell you something. But, yea, will probably need a drive and memory upgrade, and will be more costly if already comes with them. Since it is upgradable, though, you can do that incrementally.

Have you considered starting your development learning with a Raspberry Pi? ;)
Thanks for the long and detailed reply! I'll try to respond as best I can.

I haven't purchased anything yet and that's why I'm glad that I posted here. It seems there's a lot of experience on these forums. I'll look into the late-2012 Mac Mini i7. I saw a few of those on Ebay. The problem is at this point they likely wouldn't come with a warranty from Apple. Not sure if it would be necessary on those though.

Currently, I have 8 TB of storage available on my windows computer, if I need access to that. I could always setup a shared folder on my internal network for that. I also have some USB external drives available. No Thunderbolt or USB-C though.

I've never done any software development. In college I was required to learn Java, but that was about 10 years ago so I haven't really retained any of it at all. I've dabbled with HTML, CSS, SQL and PHP throughout my current IT career. But nothing major, just mostly internal related stuff. I can look at code and tell you what it's doing, but I can't really write it from scratch and that's what I'm looking to learn.

My current goal is to learn something new. I spend a lot of time on my computer gaming, but I'm not enjoying gaming any more. So I'd like to use those hours I'd spend gaming to learn as a hobby to start. If I do enjoy this I'd definitely consider switching careers to development. But realistically, this would just be learning something new, and if something else came of it, that would be great.

I suppose I could just dive into HTML, CSS, JS more until I have a much better understanding with that. The reason I chose iOS was because it wasn't complicated. There's so many different languages I can learn but it's very discouraging and overwhelming. I decided on iOS because there's less devices to support, there's a lot of information available and I have a very good understanding of iOS as I've been an iOS user for a long time now. So, I personally felt it was a reasonable start. Maybe it's not the best thing to start with, but I think it would work for me. Plus with a mac I could always move into other programming languages afterwards, should the need arise.
 
I started learning Swift when they released Swift 3. All I had was a 2010 MacBook Air with 2GB RAM and an external 25" UHD monitor. It wasn't the fastest but for learning and beginner projects it was enough. I agree with 960design. Just get something and start now. When you're sure it's something you want to do and start to get into more serious projects you can decide if you want to invest more money into a more powerful machine at that point. You'll know when that time comes. As you gain experience with your tools, your expectations and frustration with your dev machine will grow. For now, either of the machines in the OP will do fine for you. 16GB would be great if you could get a machine with that within your budget. If not, don't fret if you can only afford 8GB. It's not as if you'll be crippled or anything. I got along with 2GB until the end of 2016. Was it optimal? No. Was it comfortable? No. Did I manage to get my job done as a junior dev and get paid? Yes. Then I used the money to get a MBP 13" with 8GB as soon as I could. Now I wouldn't consider a machine with less than four cores and 16GB RAM. You don't have to go there immediately. Just start now with whatever you can get your hands on while the fire burns within you to get started! :)
 
I started learning Swift when they released Swift 3. All I had was a 2010 MacBook Air with 2GB RAM and an external 25" UHD monitor. It wasn't the fastest but for learning and beginner projects it was enough. I agree with 960design. Just get something and start now. When you're sure it's something you want to do and start to get into more serious projects you can decide if you want to invest more money into a more powerful machine at that point. You'll know when that time comes. As you gain experience with your tools, your expectations and frustration with your dev machine will grow. For now, either of the machines in the OP will do fine for you. 16GB would be great if you could get a machine with that within your budget. If not, don't fret if you can only afford 8GB. It's not as if you'll be crippled or anything. I got along with 2GB until the end of 2016. Was it optimal? No. Was it comfortable? No. Did I manage to get my job done as a junior dev and get paid? Yes. Then I used the money to get a MBP 13" with 8GB as soon as I could. Now I wouldn't consider a machine with less than four cores and 16GB RAM. You don't have to go there immediately. Just start now with whatever you can get your hands on while the fire burns within you to get started! :)
Exactly, I'd like to start as soon as possible while the interest is there! Sure I may not have the best setup, but it's a start and I can always upgrade later once I get better.

Right now I'm leaning towards a Mac Mini + 27" UHD monitor. Because if I need something more powerful in the future I could re-purpose the Mac mini to something else.

Thanks to everyone who has taken the time to read and reply to this thread. I received a lot more information than I expected!
 
  • Like
Reactions: 960design
More than 8GB of RAM would be nice, but it is possible to work with that. I am developing iOS games on a late 2013 15" MBP with 8GB RAM, and is attached to a 27" QHD monitor.

Yesterday I had the Unity game engine, Xcode, Unitron (I find it best with Unity to have a separate code editor, I only use Xcode for making builds), Photoshop, Illustrator, Fontforge (font editor), Safari, and Wings3D (3D modelling) running at the same time. I sometimes have even more open, such as Audacity for sound editing. More computing power would be nice, but it all runs fine for me, certainly nothing that gets in the way of me working.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.