Friday, July 6, 2012

How to become an IOS Programmer

If you are a proficient C/C++ programmer this is what it takes:

- Enrol to one or both of Apple Developer programs, each costs ~$100/year. There are two programs; Mac OS/X and/or IOS.

- Download/install XCode (yes it is nothing but an IDE.)

- Get yourself Stephen G. Kochan's "Programming in Objective-C 2.x" book. 

- Study/experiment with simple command line examples using the book (part time 1-2 weeks). Just focus on learning the Objective-C language not IOS or Cocoa (Mac OS/X stuff.)

- Get yourself an iPhone, iPod Touch or iPad for development. There is a simulator that comes with XCode but sooner or later you would need to run your code on a real device. For instance iCloud stuff cannot be tested with a simulator.

- If you want to learn say IOS don't waste your money buying more books (I did and they are hopeless.) Simply download and follow Stanford University classes using UTunes (held by Paul Hegarty). Follow tutorials while coding. The great things about them, a) the material is organised efficiently (you would progress fast), b) you can pause the video while catching up. They'll take about 2-3 weeks part-time (1-3 hours a night). You can skip stuff you don't immediately need. eg. if you are writing a document based app don't waste your time learning graphics programming or accelerometer API. The most important bit: Learn MVC architecture and learn it thoroughly.

- Enrol to stackoverflow:

- Start your own project. When stuck Google your question. Start your question with "IOS...". Most definitely the answer will be in the first 3 of search results. 99% of the time the answer would be coming from stackoverflow. 99% of the time the answer would be correct.

- From time to time you would need to read Apple documentation to understand concepts more thoroughly. eg. If you want to learn iCloud there is a pdf, if you want to learn Undo Architecture there is a pdf, etc. Every developer documentation has high quality, to-the-point and concise content with simple code snippets. Download them, read them during your breaks or while commuting. 

-Don't waste your time asking questions on the Apple Developer forums. They are ghost towns. 

Finally writing for Apple eco-system is great fun. Objective-C is a great language, Apple architecture is amazing, Apple documentation is superb, and stackoverflow is awesome. From programming point of view Apple devices are easier to handle since the hardware and form-factor is strictly controlled by Apple. You don't need to wrestle with 100's of devices to adopt your app. 

Questions? Please ask.

No comments: