I've been asked by some folks with a .NET background how I've jump started my iPhone development journey. Well, first of all, if you're new to programing for the Mac and have a .NET/Visual Studio background, be warned: EVERYTHING IS DIFFERENT. And with "different" I mean VERY different. :-) The same applies if you're background is a Java/Eclipse one.
It took a while for me to get a hold of Apple's paradigms when it comes to application architecture and how things integrate into each others. One of my biggest difficulties was to really grasp how stuff you do with Interface Builder and the code you're writing work together.
Unfortunately Apple puts all iPhone developers under a strict NDA.
Therefore no entitled developer is allowed to post tutorials, discuss code related questions, etc. not even via email. Well, I'm not going to break mine here. :-) All I can do is help with a brief list of the stuff and the order in which I've read the documentation which got me going. This is in no way a complete list but it'll definitely get you quick results and if you take it from there you'll be able to develop iPhone applications with rich user interfaces in a relatively short amount of time.
Here's my list:
Once you've completed the above list, you're pretty well equipped to dive into more sophisticated topics. So far, I've completely read the following material to deep dive into the inner workings of iPhone OS:
- Aaron Hillegass fantastic Cocoa (R) Programming for Mac (R) OS X book. Make sure you grab the 3rd edition as the older ones do not include Xcode 3.x material!
- Aaron's book has nothing iPhone specific - in fact, it doesn't refer to the iPhone specifically anywhere - so you might want to additional read the Cocoa Fundamentals Guide.
Once you've completed the second block, I highly recommend to finish with the following list of guides:
This is a lot of material, I know. However, rest assured it's much fun all along the way, too! The iPhone OS is a great platform for delivering rich mobile user experiences and once you start understanding the core principles and paradigms, you can yield great results in a very short amount of time. Also: Reading the above material is not a tedious undertaking. I tend to read stuff like this in the evening and night hours and managed to get through all of the above in less than two weeks (with an average daily consumption of 3-4 hours per evening).
Should you know additional sources that have helped you jumping on the bandwagon, please feel free to add a comment to this post.
Hope this helps!