iOS Exclusive, Well, Not Really

Earlier today I was asked if I’m exclusively iOS with regard to the work I do. My initial response was “yes”, but it occurred to me that I’m not exclusively an iOS developer. Sure, development work on iOS is my primary source of income, but I do work with other programming languages and platforms.

Prior to 2007, I’m focus was on Microsoft .NET using C#. I produced a number of B2B and back office solutions using ASP.NET with C#. I also did Windows desktop development using Delphi.

In 2007, I started experimenting with Xcode in hopes of porting Killink CSV Editor to the Mac. In the spring of 2008 I started playing with the first public beta release of the iPhone SDK. And by the fall of 2008 I released my first iPhone app.

It was clear to me at this time that I was hooked on Objective-C. I told my clients that I would be moving away from Microsoft technologies by the start of 2009 to focus on iPhone and Mac development. The transition was a tough one because at the time none of my clients were interested in mobile (though that has since changed and I’m now doing iOS work for some of those same clients). But thanks to the Cocoa developer community and events like 360idev, I weathered the worse of transition and I now focus my time on writing iOS and Mac apps. However, iOS and Mac apps are different today than they were back in 2008.

Most iOS and Mac apps today are connected apps, meaning they interact with a server. I haven’t written a single app in the last 2 years that didn’t have some sort of interaction with a server. And given my past experience with server work, I have made a point to keep up with what’s happening on the server side of things.

More recently I have been doing server work using Node.js primarily as a means to implement web services needed for the iOS and Mac apps that I work on. I also use python for a number of task, mainly for local scripts such as build scripts for my Xcode projects, but also I use python for the White Peak Software company web site and for some Google App Engine work I’ve done as the backend for iOS apps.

So while it seems I’m exclusively an iOS developer, I’m not really. I build apps for iOS and Mac using Objective-C, and backend web services for those apps using python and Node.js. And I’m sure this too will change over time.