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

Developing for iOS

Since joining my new old company (I’d worked for Infusion 6 years ago) as a Mobility Architect I started working for a customer with one of the biggest iOS projects. I’ve not had a lot of experience in iOS before, so besides been involved in iOS at work I had decided to spend some time on my own to bring my knowledge to a more comfortable level. Of course the best way to learn a new or different technology is to start doing a non trivial projects so I’ve decided to port my FeedPoint app that I’d created for Windows Phone and Windows 8 Store before. It’s a RSS and Atom feed reader app that’s using Feedly aggregation services. I will be posting my impressions of a newcomer to the iOS platform and may be some tips and tricks I’ve learned along.

Tagged with:
Posted in iOS development

Hello world from my new place.

Since I’ve left Microsoft a few months ago I’ve finally found some time to create a new home for my blogs, so I’ve decided to give the wordpress a try. My old blog at msdn is still available, but I suspect it will be removed in a few months.

Anyway I am going to use this blog to continue posting hopefully useful information, tips and trick on mobile development and architecture.

Posted in Uncategorized