Developing for iPhone

I have finally found myself with some time to (begin) learning iPhone development. I have said (numerous) times before that I was learning, but I am actually getting to understand it this time. Perhaps attempting it several times before, failing and returning to it some time down the track is allowing things to sink in. Being me, now is the perfect time to share an update on my progress here on the blog.

In my last post on the topic, I mentioned the tools I was using to learn the development. Some seem to work well, others not so much. What is working for me are video tutorials. These actually make sense as you get to see and hear what is going on. I would recommend a video course as the best way to use this method – while I could foresee it working if you search YouTube, it would likely take a significant amount of time to find really great tutorials which fit together nicely.

The other thing that worked well for me was just mucking around. I took some of the ideas from the tutorials and books I was relying on and adapted them and mashed them up to develop little applications that would let me put ideas together. Don’t be afraid to spend time developing these apps you can throw away – being able to throw them away at the end is a great benefit. If you get frustrated, you can just start another.

One thing that hasn’t worked well for me is a book. While it is good as a reference, it is too difficult to learn well from these books. It’s not dynamic and sometimes it is a drain to be flipping back and forward between a book and Xcode. I would still use mine as a reference, not so much as a development tool.

Here is proof of my work: the first application I wrote from scratch myself without any assistance from any of my learning tools and resources. It’s basic, and the idea of Moods is itself based on a tutorial – I adapted the idea to something I was comfortable in doing myself. The app simply has a few buttons with various moods, which display a pop-up (UIAlertView) with some pith statement about your selected mood.

A basic app I know, but I needed to learn a lot to get to this point, including:

  • Selecting the right iPhone app template
  • Memory management
  • Sending messages to objects in Objective-C
  • Instantiating new objects in Objective-C (for the UIAlertViews)
  • Using the @property and @synthesize directives

By mucking around, I think I learnt the most through this app. I’ll keep working on my skills with iPhone development at least through the end of the month (I found a great TED talk video by Matt Cutts about trying things for 30 days and the impact that makes on learnability and achieveability of goals – definetly worth a watch). I’ll keep you updated on my progress, of course.

What language or SDK are you trying to learn now? What worked and didn’t work for you when you were learning to develop?

Leave a Reply

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