iOS vs Android vs Is there anything else???

Conventional wisdom (or Google) says that when you have decided you are going to write an app you need to decide which platform you are going to target. In an ideal world, with appropriate resource,  I guess you would develop simultaneously for both iOS and Android, but as the world is far from ideal and I already have plenty of iOS development experience, albeit writing an enterprise sales platform in objective c for iPads, this particular choice is a no brainer.

I must confess to being an Apple fan. I think my first iPhone was a 3Gs back in 2009 and although I have occasionally flirted with Android ownership, most recently with the rather sexy Samsung Galaxy S8, I keep being drawn back to them. I think it's the fact they just seem to work. I can't qualify what that actually means and I'm sure there are myriad happy Android users who feel exactly the same. I also know plenty of techie IT people who'll bore you to tears with how they can "get under the hood" of their Android device whereas on an iPhone it's all locked down. I have a wife and 3 children, and frankly I'm glad they all have iPhones.

The thing is, despite having been a software developer for the best part of a long time, whisper it quietly but I actually don't know everything there is to know about IT. This will come as a shock to my family and friends who seem to think if their printer breaks down or their router stops working I'll know exactly what is wrong with it and how to fix it. Guess what? I'll Google it like everybody else.

Anyway, once you've decided on what platform to use the next step is to get your development environment set-up. Now these days I believe you can develop iOS applications on a PC using Visual Studio or some other such environment, if you have masochistic personality disorder that is. I don't believe masochistic is one of the many personality disorders I seem afflicted with, so I'll stick with my trusty MacBook running the gloriously free Xcode development environment. Once again it just seems to work. It seems much quicker than an equivalent pc and using VMware fusion I can run a virtual PC inside my Mac and have the "best of both worlds" if I have the unfortunate need to fix some broken Windows. On top of that you need to decide what language to use. Having developed a rather large core data based enterprise application for iPads in objective c, I have plenty of experience but Swift seems de rigueur for iOS app development at the moment so why not increase the challenge and use an unfamiliar language too.

So there it is. Swift, Macbook, Xcode. For me, the holy trinity of iOS development...

Labels: , , , ,