With the right kinds of starting points and examples, iPhone programming is pretty easy if you’re experienced with programming in general.
Let’s face it, my interest in Macs is recent. I’ve never used one daily for work, and I’ve never been in a situation where I’ve developed *for* one. I’ve developed on one, for Windows using VMWare Fusion and Visual Studio and I’ve written some stuff in Ruby on one, but this has far less to do with Mac than it did with writing Ruby code — it was back-end code, so I avoided the UI questions…that time.
With the iPhone, that’s not the case. You can’t hide in the back end, and you can’t just ignore the UI issues. Compelling iPhone apps go beyond the simple form-based apps I built with embedded Visual Basic on Windows CE. They need a slick interface, things need to flow, to be dynamic and to fit into the framework.
The odd thing is, and maybe it’s just me, it comes fairly easily with some work. If you’re just starting out, I’d suggest a few resources.
First, peruse Apple’s document: The Objective-C 2.0 Programming Language. Personally, my head doesn’t just absorb a language by reading about it, so once you get through the first bit and have your interest piqued by the language’s capabilities (and it is an interesting language – with an ugly syntax, in my opinion), you need to give yourself an assignment. Something to start kicking the tires of the platform and the language with. You’ll come back to this document later.
While you’re thinking of your project, the next thing I’d grab is The iPhone Developer’s Cookbook by Erica Sadun. Daniel Pasco, CEO of Black Pixel Luminance described it as, “…the Petzold book for iPhone developers.” That’s a decent description, but it’s far more practical than I remember Petzold. This book probably has a description and a decent sample for most of the things you’ll do in your tire-kicking project. It’s an easy read and a practical guide to getting things done, so save your in-depth, what parameter do I pass to this to do that questions for the Apple documentation.
Speaking of the documentation, being unfamiliar with the Xcode help system, I didn’t have my searching set to full-text. Figure out how to do that and as you look for flags and methods, you’ll do much better.
If you’re the kind of person who says, “I can probably do that” when it comes to new platforms and new programming challenges, I’d say you’re only practice away from being able to do it on the iPhone.
If you find that maybe you don’t have time or the ability to get going, let me know. I’m always happy to discuss ways in which I might be able to give you a hand.