mac mini for software development

I intend to start to develop for Apple products. My question is if a Mac mini with the below configuration will suffice for this purpose.

  • 2.3GHz dual-core Intel Core i5

  • 2GB memory

  • 500GB hard drive

  • Intel HD Graphics 3000

  • OS X Lion

I intend to develop in Objective-C but the question is if Apple will farther allow native code apps on their mobile hardware.


Solution 1:

I have dual core i5 macbook pro with 4GB memory. I am working on an iOS game in my free time. I am happy with build times and debugging performance.

On my system (running OSX Lion) I have around 200MB free memory while debugging on the simulator, around 300MB while not debugging. Debugging on the device consumes less memory than the simulator. I have iTunes and safari open which consumes a lot of memory too. So 2GB memory may be somewhat insufficient. You should have 4GB to be safe.

As for the native code question, Apple will almost definitely allow native code apps. They don't allow Flash. They don't allow Java. They don't allow just-in-time compiling of .NET/mono. They actively develop, advertise and enforce their SDK. They allow freely mixing C/C++/Objective-C in your code. They also allow script based games for example, Corona SDK uses Lua as scripting language, and there are many games developed with Corona SDK. You should have a look at such SDKs since they allow developing both in MS Windows and OSX. Also such SDKs allow you to develop cross platform apps, which means you can develop for iOS and android at the same time. However, you must have a mac and iOS developer account (99$/yr) to debug and publish for iOS (no such restrictions for android).

Solution 2:

Xcode will work on that system, but performance will be bad with only 2GB of RAM, especially with some of the debugging tools, or if your app is only half finished and you haven't optimised it's memory usage yet (I like to get my app working first, and then figure out how to reduce memory usage later).

It will be absolutely worth spending a tiny bit of money to upgrade it to 4GB, and honestly I would upgrade to 8GB instead.

RAM is usually cheaper if you buy from a third party and install yourself. There are many RAM companies who will tell you exactly what RAM to buy for your specific mac and how to install it (sometimes installation is easy, sometimes it's difficult, depending on the model).

Even if money isn't much of an issue (boss paying for it, etc), I still prefer to install it myself because build-to-order configurations can add weeks to the delivery time, when it only takes 10 minutes to install the RAM yourself (and you can use it with only 2GB if the mac arrives before the third party RAM). The only drawback is if you break something installing the RAM, it won't be covered under apple's warranty, and you may need to install the old RAM before doing a warranty claim, to prove that your third party RAM isn't the problem (bad RAM can cause all kinds of crazy issues).

The CPU and Graphics card are both plenty fast enough, as long as you're not working on 3D games.

Note there are plenty of mac programmers who always buy the most expensive Mac Pro available and still wish it was faster. If you buy a budget mac, don't expect Xcode to be blazing fast! But it will be plenty fast enough to get work done even on old second hand hardware.