Starting development for iOS

Here’re a few observations from a point of a seasoned mobile developer who hadn’t used the Mac OS much, Objective-C or the Xcode.

While the development tools that are required to develop for iOS devices are completely free you would still have to shell out some money for a Mac OS hardware be it one of the MacBook laptops or Mac Mini or Mac server box. I’ve had MacBook Air lying around which I got myself for my birthday 2-3 years ago which I found adequate for starting the learning of the iOS development.

I will start working backwards in describing the barriers you would need to overcome.

My first advice for experienced .NET developers starting iOS – don’t shy away from reading documentation or a book or two on the Objective-C. For a C# developer the Objective-C is going to look completely foreign. It’s like for english speaking person looking at the text in Swedish or German. You recognize a few words and then encounter some very long and weird-looking line like this:

– (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView: (UIView *)view{

}

And don’t try to “brute force” attack writing or reading the source code until you’d get comfortable with the syntax of the Objective-C. Your mileage will vary but only after almost a month of closely working with it I started feeling comfortable with the language. I would call it a third barrier when starting iOS development. The second barrier to overcome is to get used to Xcode. Coming from the best developer IDE (Visual Studio) it will take some time to discover keyboard shortcuts, learn how to debug, step through the code, use the Interface Builder. Throw in learning about the structure of the Xcode solution and project structure and you’re in for some long nights… As for the first barrier I would call getting used to Mac OS itself. If you had used Windows only before, the Mac OS will require some internet searching to find out how to do some even simple things like app installing/uninstalling, file or app searching on the computer, text or image editing etc…

To overcome the barrier of learning Objective-C I’ve found the book “iOS Programming for .NET Developers” by my old friend Josh Smith to be very helpful. It gives a comparative analysis of the .NET vs Objective-C helping to start getting your confused brain in order.

On the positive side there is a wealth of information on how to start development for iOS on the internet: videos, articles, walkthroughs etc… However they’d only get you over the “Hello World” level of the app. The real learning of the platform will start only when you start doing some non-trivial and real apps. I’ll get my observations on that in my next posts.

Happy New Year!

 

Tagged with:
Posted in iOS development

Leave a comment