I haven’t done any serious coding in about 8 years or so, but I wanted to dabble in iOS development given that I’m getting an iMac at work to replace my WinXP PC. (Yay!) What would be some good resources? Books? Sites? I have a passing familiarity with C++, but again, I haven’t really touched it in a number of years. I did search the forums here, but wasn’t coming up with exactly what I’m looking for, so here we are.
So much to say, but on my iPad it’s gonna be a challenge.
A few months ago I had the same inklings you have now. Here’s what I did:
First, I decided to learn about Objective C. While it’s similar to C++, I felt with all the changes I’d be facing that I should have a good foundation. So I started by working through Programming In Objective C by Kochan. It’s a very good start.
Next, I wanted to get my feet under me with regard to my Mac itself. So I worked through Steinberg’s Cocoa Programming book. Cocoa, of course, is the foundation software used on all Macs and iOS devices and prior to OS version 4.0 (I think) the iPhone foundation software was actually called Cocoa Touch. Now, of course it’s all iOS.
Then I wanted to learn about iPhone specifically. I am almost through Mark, Nutting, and LaMarche’s Beginning iPhone 4 Development book. It’s been quite good, though I am near the end and it,s clear to me they are running out of gas, as the examples are getting more and more Spartan.
One great resource you should not ignore are the great courses available on iTunesU. The most popular iTunesU course is on iPhone Programming -the course taught at Stanford. It is an excellent course, and the handouts and homework assignments are online. The one drawback I found is that because the course is still being taught, they don’t post full answers for all the assignments. And the assignments are pretty full featured - like ‘add this functionality to your program’ - so if you get stuck it can be problematic. However there is enough interest in that course that you can usually google up some ideas (but I would advise not doing this as a first step for the aforementioned reason).
The iPhone book mentioned above was written with respect to Xcode 3. However, Xcode 4 is now the standard, and what you get if you download it from the App Store. The UI changed quite a bit between 3 and 4 (plus everything is integrated now, instead of using Interface Builder as an external app, it’s now inside Xcode). If you want a book written using Xcode 4 as the IDE I would recommend one or both of these:
There are lots of other good resources, one of which is Apple’s videos from WWDC, which I think you can access if you join the free developer program. Also, Jeff LaMarche’s blog is awesome; he has some good stuff on Open GL ES if you are interested in that.
At a certain point you will develop an itch and want to do your own thing. That’s great. Just make sure you spend some time designing your app. One tool I purchased to help me do that is AppCooker. It cost $20 but it it a very good prototyping tool.
And lastly, since iOS programming is so popular, you’re bound to find a lot of help at Stack Overflow. Whenever I try to do something that doesn’t work, I google the question and invariably the answer is over there.