Apax Software logo

Introduction to iPhone Development

Introduction to iPhone Development

Learning to develop iPhone applications can be a frightening undertaking. However, if you let it, it can be a very enjoyable experience. Assuming you are, like me, a PC user first, you will be overwhelmed by the small differences between developing on the PC platform, and developing on the MAC platform. Heck, just using the MAC operating system can be a challenge at first! Eventually, though, you should discover that the new environment is fun.

The key here is to approach the MAC OS, also known as Leopard (or lynx, or wildcat, or whatever cat they are using these days), without focusing on the differences between it and Windows. These little differences can really get on your nerves if you let them. But let’s face it, Windows is not exactly a perfect platform…I’m not saying that Leopard IS perfect, but if you don’t get caught up in the small differences, you can see that it really does have a lot to offer. I suggest trying out “Spaces”, a way of virtually extending your screen size. Also, try the function keys; they have some really cool functionality for moving your application windows around, making it easier for you to find the window you are looking for.


So, once you are confident with the MAC OS, you are ready to begin developing your very own iPhone application. Apple offers a very nice SDK for this, called XCode. To download XCode (plus lots of other development resources), visit developer.apple.com. XCode provides several “build-ready” application templates that really jump start your development. Simply choose one of these templates and click “Build and Go”, and you should already have a working application running in the iPhone simulator (another tool within XCode).


Once you have a working template running, you should take some time to get to know the language. iPhone development is done using Objective-C, or as some of my colleagues were fond of calling it, C[] (pronounced “C-bracket”). Objective-C is obviously an OOP language, and the syntax resembles other “C” languages. The differences are pretty clear right away, however. All object methods are contained within brackets.

(example: [myObject doSomething])

This may seem odd at first, but it has some benefits. It keeps your objects and their methods organized, while doing away with the excessive use of parenthesis that some other languages use. Another nice feature of the syntax is calling methods with multiple parameters. Each parameter (except the first) is preceded with its name, which keeps the programmer from losing track of the order of the parameters.

(example: [myObject doSomething:firstParameter secondParameterName:secondParameter])

This allows the code to be easily read by someone who does not necessarily know the format of the methods.

(example: [myBaseball throwWithSpeed:80 withAngle:45

So, while the syntax may be different, it definitely has its advantages.


If you are serious about learning to develop iPhone applications, I recommend trying out some online tutorials. Apax Software will also be offering workshops in the near future.

Justin Raney
VP Development

Twitter Feed


We had the need to manage a dozen simultaneous development projects in parallel. Apax was critical in bridging our gaps and working side by side with our developers.
Ben AskreniHigh