Wednesday, October 27, 2010

Developing for the iPad

The past months we have been busy with a new challenge: Developing for the iPad.
I can tell you that developing for the iPad is a total different experience compared to Delphi and Visual Studio. Never the less it is great fun! Besides the fact that it is a fun platform to work on it is even more fun to learn a new platform, language and IDE.

The tools: XCode and Interface builder
We decided to go the hard way and develop with Apples native IDE XCode. As .NET developer an easier approach would be to choose for a Mono solution like MonoTouch, however we felt that we had to know 'the metal' first.
The main tools you use developing for iPad are XCode and Interface builder. XCode is a good to work with IDE, however compared to Visual Studio it lacks some features. (Must say I still find new features, even today). One annoying point of XCode is that it opens every file in a new window (when double clicking on a file) so after a while it can be hard to seperate the trees from the forest with all that open files. However if you click once you can keep them in one window but for some reason that is hard to persist.
A big plus for XCode, in my opinion, is that it helps you to work in the MVC design pattern way which gives you clean code.
XCode does not offer an integrated form designer like VS does instead you make your views (forms) with Interface builder.

The language Objective-C
The language, Objective-C, looks at first very weird with all that brackets but there are great resources online that helped us to get started.

If you would like to start iPad development take a look at some resources we gathered along the way:
Apples developer website (Get yourself a free account)
Stanford University lectures on iTunes U (Highly recommended!!!!)
Cocoa Dev Central - Learn Objective-C

It is likely that I will write some more blogposts about this new adventure in the future.

Use an image as your UIBarButtonItem

Using an image as your UIBarButtonItem in your navigationcontroller bar can only be achieved by using a common UIButton as the BarButtonItem...