Getting Started With iPhone Development

I was recently inspired to write some apps for Apple’s iPhone. It is just way too fun a platform to resist. Having never done any development for Mac I had a lot to learn. Fortunately, as they do everything, Apple provides excellent documentation. The getting started documents at the iPhone Dev Center  are a good read and the guides found in the iPhone Reference Library provide more in depth information. Apple also has guides to using XCode and Interface Builder as well as other aspects of Mac development. If you are new to Objective-C like I was, then I would suggest looking at the Introduction to The Objective-C 2.0 Programming Language guide. If you are new to object oriented programming languages then the Object Oriented Programming with Objective-C document will be helpful to you as well.

Though Apple’s documentation is great, I find that getting several different takes on the same topic helps me to learn quickly. I also find that books with examples are useful learning tools. This led me to purchase two introductory offerings on iPhone development: iPhone in Action published by Manning and written by Christopher Allen and Shannon Appelcline and Beginning iPhone Development published by APress and written by Dave Mark and Jeff LaMarche.

iPhone in Action

iPhone in Action

The great thing about iPhone in Action is that it covers both native and web programming for the iPhone (about a third of the book). It does not assume pre-knowledge of Objective-C and even has a very brief overview of the C programming language that may be useful for someone coming from a non-C background. This is certainly not the book for someone who has no programming experience In fact, neither of these two books are aimed at people completely new to programming, but it does provide an adequate intro for Objective-C is you already know C.

iPhone in Action contains many helpful examples and covers topics not found in the APress book such as customizing web pages to be viewed on the iPhone and how to POST to a web server. On the downside I sometimes found the explanations for creating the examples in the book to be unclear. For some example apps the authors’ have included lists of steps to accomplish a task but they are inconsistant about flushing those steps out. In some places I needed to sift through the text to find the one tidbit that I was missing; something that could easily have been included in the step-by-step lists. Overall though it is a useful book to have in your library and will probably serve as a good reference for your iPhone projects for some time to come.

Beginning iPhone Development

Beginning iPhone Development

Beginning iPhone Development provides a great introduction to native iPhone development. Though this book does not cover web programming for the iPhone, and though it assumes knowledge of Objective-C programming, it does cover native development in greater depth than the Manning title. The explanations of the example apps that you build in this book are very clearly written. My personal preference in an introductory programming book is for a fun read that holds your hand a bit through the examples. Beginning iPhone Development definitely does this better than iPhone in Action, and does so without being patronizing.

At the end of the day either book will give you a good start developing apps for the iPhone. Whereas iPhone in Action gives a little broader treatment by including web programming and an introduction to Objective-C, Beginning iPhone Development covers more of the iPhone SDK and in greater depth. I personally think that these two books work great as companions, both filling in the missing bits in the other.

Finally I will reccomend the forums at iPhone Dev SDK as a great place to have your questions answered as you start developing your first apps. Happy coding!

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter

About Jason Job

I am a technologist, music producer and an obsessive student of the Internet. I create sound, write code and make things with electronics and microcontrollers. I work as a software developer and consultant and am currently focused primarily on mobile applications for iPhone, iPad and iPod Touch.
This entry was posted in OSX, iPhone. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>