Beginning iPhone Development

I've recently started to learn to develop for the iPhone and iPad platforms. There are plenty of resources available for beginners and if it helps anyone I'm listing them here.

Textmate to Xcode

I've been developing web applications for 7 years, so I should be an experienced web developer by now. I write PHP, Perl and Ruby as well as having a good understanding of Unix systems. I'm comfortable with interface design and front end technologies.

I'm a Mac user and I have had an iPhone since it came out. I've decided to learn how to develop for the iPhone and iPad. I'm starting from scratch and I have no prior experience of the platform, frameworks or Objective-C. In short I'm a noob.

Starting out

Firstly I enrolled in the iPhone developer program. Frankly it was a good decision. The resources available for new developers are first class and it is clear that Apple want to make it easy for new developers to come to the platform.

I started out by working through the Getting Started videos (itunes link) which are a high level introduction to concepts and the frameworks and technologies available on the platform. After watching the videos I wasn't able to start programming but I had a good understanding of the concepts and ideas behind the platform.

Installing Xcode

If you are not enrolled in the iPhone developer program you can download the iPhone SDK for free right on the home page. If you are enrolled you get access to the latest versions and beta of upcoming software.

Installing the SDK is pretty straightforward so I'm not going to cover that.

Hello World

Next I worked through the Hello World example. In pretty much no time I had an iPhone application running on my simulator. Instant gratification!

Hello World iPhone app

Delving deeper

I'm very much in the early stages of learning but the iPhone OS Reference Library is first class.

I've also been taking the Stanford University iPhone Application Development class (iTunes link).

Code examples

Apple also provide example code and applications which I have found really useful in picking through and understanding how things work.

I'll blog here about my progress. If anyone has any good resources for beginners please feel free to leave a comment.

Related links

Have an update or suggestion for this article? You can edit it here and send me a pull request.