Any new language can be intimidating, especially for a beginning developer. As someone who falls into that category, finding the right place to start can become overwhelming very quickly. To lessen the anxiety for others, I want to share my experience with learning Objective-C and all the tools needed to start developing an iPhone application.
Apple
Before learning the language, I highly recommend reading a few articles in Apple’s iPhone OS Reference Library to get a better sense of what the iPhone can and cannot do in regards to your project. While I admit that Apple’s Reference Library is far from perfect, if you are willing to put in the time to dig, you will find many useful articles that will strengthen your ability to develop your app.
iPhone Human Interface Guidelines is a great starting point for any project. This section allows developers to consider different aspects of their project and how to adapt to the iPhone’s limitations. Apple also introduces all the interface features available to the developer such as views, controls, buttons, and icons. It’s important to visualize how users will interact with your app and how you will work within the limitations of the iPhone to make it a success.
Over the course of developing my project, I constantly found myself reading Apple’s documentation and articles. This is a great site to bookmark and refer back to while you work on your project.
Books
In paperback or digital form, many books available on iPhone development are well-written, informative, and helpful in getting anyone started with their ideas/projects. When choosing books that will help you learn, find the author’s intended audience. Most times this information can be found in the preface, or by flipping through a few pages and getting a feel for the author’s style. The books I will be suggesting are intended for those learning iPhone development from scratch.
I found Objective-C for Java Developers as a great transition into Objective-C and understanding many of the confusing syntax differences in the two languages. I am a fan of Apress for its easy-to-learn approach and it also assumes that you have no previous experience with Objective-C. However, it does expect you to understand object-oriented programming to fully understand some of the key differences in the languages.
I also latched on to Beginning iPhone 3 Development: Exploring the iPhone SDK to learn the basics of the SDK and Objective-C. Again, the author uses an amiable style to learning new concepts and tools available to the developer. I also liked the breakdown of code and the explanation given for each chunk. While an introductory book cannot go into the complete details of the SDK and tools, it does a great job covering most areas in enough detail to help the developer get started.
(Apress actually has a large collection of books for iPhone development that are not discussed here, however I do recommend looking into what they offer past my recommendations. This includes books that go into specific areas such as gaming.)
iPhone SDK Development is another great book to get started and is also available in digital form. Again, their style is easy-to-read and has a very friendly approach to teaching the iPhone SDK for beginners. Currently I have the digital copy, and I love the use of color for the code they explain (I can’t vouch for the printed version having this useful detail). There are also links to the source code that I find helpful and easy to access.
In addition to publishing books, PragProg goes a step further by creating videos and audio to learn programming. For anyone using the MapKit Framework, they have a great video to orient yourself with the different methods and classes in about 30 minutes.
Once you are oriented with the basics of iPhone development, The iPhone Developer’s Cookbook has many great recipes to help with specific areas of your project. The author does assume you have some experience with the iPhone SDK, however once you have a few of the beginner books under your belt, the examples won’t feel foreign.
And finally, while this isn’t an iPhone-specific book, I recommend Cocoa Programming for Mac OS X for an overall impression of developing on a Mac. I liked the introduction to the Interface Builder and building applications for the Mac, which I think can broaden your development past the iPhone.
Of course, there are many more books available than what I have listed. I always recommend going with a book/publisher that helps you get the most out of your developing experience.
Next time, I will share my experience with searching for help online and some great websites to keep bookmarked for future reference.
Hello there, I am glad that I ran into your site. I spend a lot of time online reading about various topics. It is always nice with such valuable information. I will bookmark this page and am anxiously looking forward to reading some of your future posts. Thanks and God bless.