By John Houghton on January 30, 2014
I get a lot of questions about the requirements for iPhone app development, and wanted to write a post to clear up some of the confusion. In order to create an app, you need a software development kit, or SDK. It’s best if you get the native SDK from Apple. “Native” means that it is the primary tool that Apple intends for you to use when writing your iPhone app. This SDK can also be used to code apps for the iPad. I recommend that you use the SDK that Apple provides. It is possible to download non-native SDKs from different providers, such as Appcellerator or Phonegap, but by using these non-native SDKs, you become dependent upon them for software updates and fixes. When their software has bugs, this can introduce bugs into your app. If they go out of business, you are basically stuck. Therefore, in my opinion, it is best to use Apple’s native SDK. They have been committed to supporting app development for a long time, and they are very unlikely to go out of business any time soon.
There is one caveat, however, and that is that Apple’s SDK only runs on the Mac OS X operating system. It will not run on Windows, Unix, Linux, or any other operating system. You might find other non-native development environments that can run on Windows, but not Apple’s SDK. Ostensibly, OS X only runs on a Mac. I suppose the exception is if you are a very experienced user or hacker, you can get OS X to run in emulation on a PC or in a Unix/Linux environment (since OS X is based upon Unix to some extent), but if you run into problems, you will not be supported by Apple. The ideal scenario is to run Apple’s SDK, using Mac OS X on a Macintosh computer.
Since we’re talking about hardware, I will give some additional recommendations in that regard. You’re going to be booting the development environment (SDK) quite often, and performing builds, which requires a lot of computational power. I’ve run the latest MacBook Pros for the last few years and I’ve configured them with and without solid state hard drives. The Macs with the solid state drives are much faster, and it’s worth buying the extra processing power. That’s my opinion, because in addition to developing software, I have to perform many other tasks, such as run my company. I have a million things to do after I do the technical work, and it’s worth it to me to save a half a minute every time I perform a build, which might be 10 times a day on some days.
I hope that provides some guidance on the requirements for native iPhone/iPad app development – you are going to need a Mac.