Getting Started with iPhone Development – Part 1
In the first of our three part series of “Getting Started with iPhone Development” we are going to cover what you need to start out your personal library. Part 2 will cover resources on the internet, and Part 3 will cover getting started with the Apple developer site. While starting with your personal library may seem like a strange place to start, I think it is important to have at your fingertips a library that you can use as you begin learning and refer to at any level you are at. A library you can trust and rely on for authoritative information. It is also very important for learning to have these things available off line so you can learn anytime, anyplace. Last but not least, these are the books that are going to actually teach you, and teach you right. Let’s get going!
So, you see all those people getting rich almost over night writing those cool little iPhone apps and you want a piece of the pie. Well, I am here to help you get started.
Like anything worthwhile, learning to program on the iPhone takes time and hard work. But at the end of it all, you will have collected a number of programming skills that will enable you to write software not just for the iPhone, but also for the Mac. How is that? Well they both use a language called Objective-C and something called Cocoa. Yes, you need to learn both. It may seem daunting at first, but trust me, if you jump in head first, you will learn and never look back.
This is not a tutorial on how to learn to program, rather it is a list of resources that will help you to learn right! I will put these books in the order in which you should learn so that you build a proper foundation. If it seems like a lot of reading, it is. But please, don’t let that stop you. You will be glad you followed through. Also, I see no reason to buy all these books at once. Like many of us, you are probably on a budget. Buy them one at a time and take you time reading through before moving on to the next book. Let’s get started.
Programming in Objective-C 2.0 (2nd Edition) (Developer’s Library)
This is the place to start. It is the de-facto standard book that most people used to learn Objective-C. And for good reason, it will teach you the programming language you need to know in order to write anything for the iPhone or the Mac, and it teaches well. You may be tempted to grab a book that has a flashier cover. Something that looks more exciting or impressive. But that old adage is true, you cant judge a book by it’s cover. Having said that, some may take offense at the fact I am taking a jab at the books appearance. That could not be further from the truth. I actually really like the cover and I think the way it is laid out is tops. But let’s be honest, most people seem to think that a full color cover means better quality. That couldn’t be further from the truth (just look at the bargain bin at your local book store, they are packed with garbage presented in full color). At the end of the book, there is a very brief introduction to writing an iPhone app. But I caution you, your not completely ready to take this on in a meaningful way. By all means tinker, but don’t get too distracted. There is a reason this tutorial is short. There is still a lot to learn. Read the next book first.
Cocoa(R) Programming for Mac(R) OS X (3rd Edition)
Remember when I mentioned Cocoa? I was not talking about the drink. Again, in order to write any GUI (graphical user interface) on the Mac or iPhone, you need to know how to program using Cocoa. By this time you will be well on your way to having a solid foundation to developing on the Mac, and by extension and using many of the same technologies, you will be able to program for the iPhone and iPod Touch. Yes, I said iPod touch, because, with a few exceptions, all programs written for the iPhone work on the iPod touch. To quote Apple’s website on it’s explanation of Cocoa it says:
“Cocoa is Apple’s name for the collection of frameworks, APIs, and accompanying runtimes that make up the development layer of Mac OS X. By developing with the Cocoa frameworks you will be writing applications the same way that Mac OS X itself is written, with complete access to the full power of the operating system, including the signature Mac look and feel. Cocoa is simply the best way to create native Mac applications.”
So now you can see both how powerful Cocoa is, and have at least a hint at why it is so important. But wait, there is more. You now need to learn how to develop for the iPhone.
Beginning iPhone Development: Exploring the iPhone SDK
I know what your thinking, when do I start programming an app for the iPhone? Well, now your ready to jump in with both hands. This book will teach you the basics and really get you going. You will be able to write some very useful applications. This book covers more on Cocoa, and most importantly the differences in Cocoa and Cocoa Touch, iPhone’s Cocoa counterpart. But there are still some things you should get a better handle on. Namely, Xcode, the development environment for the Mac. You will already be familiar with using it by now, but there are many things you still need to know to be a pro. (The rhyme was unintentional
)
This is a great book to delve deeply into the most powerful development environment you can get for the Mac. The great thing about Xcode, is that it is free to download and use. Get it and enjoy one of the greatest perks you can get for developing on the Mac.
This list of books will by no means teach you everything you will ever need to know. But it will get you up and running and will teach you to be productive. You will be able to write a great iPhone application that will sale, provided you have a great idea.
Next up will be a list of internet resources to help you on your quest to be the next great iPhone developer followed by our 3rd part about some crucial things you will need to know about how and where to get started as a developer in the world of Apple. See you next time!