After struggling for quite a while to find a good documentation on iPhone SDK I decided to come up with a set of tutorials that I’m gonna do while learning the iPhone OS API myself. Official documentation found on Apple’s web site still suffers from being not clear enough and it’s not very obvious where the starting point is – whether it is the Objective-C 2.0 intro or the iPhone OS intro. Objective-C guide is hard to understand without real world example, and iPhone OS intro is too complicated to read without some basic knowledge of Objective-C. Just look at the ‘HelloWorldClassic’ example which is hundreds of lines long and makes your head go around when you look at it.
Luckily we have dozens of bloggers around and hundreds of non-official tutorials available everywhere online. As a newcomer to the Mac OS X and a person who has zero amount of experience in Cocoa programming I decided that programming for the desktop would be a better start than programming under the similar framework for the mobile device. Apple clearly states that iPhone Cocoa Touch development workflow is similar to development experience under desktop version of Cocoa, but due to the hardware specifics the Cocoa Touch has both limitations and advantages over the desktop platform. I think it is clear now that the good starting point would be the Cocoa ‘Hello World’ application, where you can get familiar with the IDE and the programming language itself. It turns out that most tutorials that are available online were created for the Xcode 2 and the older version of Objective-C, but still I was able to find some great resources that were a great push in development in Xcode IDE:
- Tutorial: The Objective-C Language
- YouTube video: Xcode 3 Beep Tutorial
- YouTube video: Xcode 3 Beep Tutorial Part 2: Outlets
- Wikibooks: Programming Mac OS X with Cocoa for beginners
Particularly the YouTube videos by lammig were useful by showing the connection between the Interface Builder and actual coding in Xcode. Although Apple has demoed the Interface Builder for iPhone, in the original beta release of the SDK the Interface Builder for iPhone Cocoa Touch is unavailable, but Apple promised that it is not going to be a lot different from using the Interface Builder for original Cocoa for desktop platform.
This is it for today, but I’m currently building a small tutorial on how to build a lighter version of ‘Hello World’ application. By saying ‘lighter’ I mean something that is more compact and readable than the one Apple has on its iPhone Developer Center web site ;).