iOS Programming: Getting Started, & Sticking To It
Search the web and you will turn up gazillions of resources on getting started with IOS Programming, and I have done the same. In fact for the last three years I have been spending $99 every year paying for the IOS Developer Subscription and buying books. Apple keeps on revving (albeit not at the same rate as Android) the IOS SDK, APIs and the books that I had bought kept getting obsolete! I tried attending local Meetups and trying sample code. All I was able to do was to or rather hack together a few apps that could control or manage a Set Top Box (STB) using iTouch or iPhone. And the user interface on them was horrible…
Finally last December as I became more engaged and serious I latched on to three critical resources, here they are and the challenges with them:
- I dusted up my C Programming skills first and then took up “Objective-C Programming: The Big Nerd Ranch Guide” by Aaron Hillegass. It had a very good refresher section C, and then went deep into Objective-C
- The second book I recommend is IOS Programming The Big Nerd Ranch Guide 2nd Edition by Jon Conway & Aaron Hillegass. This, of course, as the title suggests was more about IOS programming.
- The third but probably the most important resource was lectures at Stanford University by Paul Hagerty. And these are the best resource – if you are just starting out – I would recommend going with the Fall 2011-12 lectures.
As a prerequisite to all of the above – you need an Intel-based Mac, I had access to my personal iMac and you need to have the IOS SDK. While the SDK is free, having the $99 membership is required to test with an IOS device [you can get started testing with the IOS Simulator which is part of the free SDK and it is very, very good]. Testing on IOS device, IMHO, is very important. But not having one should not prevent you from getting started, it is however a challenge to keep going and be good at it.
Now, based not the version of the OS (Leopard, Snow Leopard, Lion) on the Mac machine you have and the version of SDK you will have to work around and adapt to a few new concepts and technologies introduced by Apple chief among them being “ARC” (Automatic Reference Count) – which reduces the burden not the programmer by making memory management a linker feature. And on that note – you may want to get the 3rd Edition of the IOS Programming mentioned above because the 2nd Edition is pre-IOS 4.3 SDK and that does not support the ARC. This, for a beginner, will add to the confusion of getting started.
You can use the resources above or something else, but the key to success is finding a project of your own that will help you apply the lessons. And as you build your own application or work on your own project Google Search is indispensable, and I would highly recommend Stack Overflow as well.