Android vs iOS Development Estimates

I’ve built Android software and I’ve built iOS software.  I much prefer developing on iOS so that’s what I spend most of my time doing, but I’ve done enough Android to have my two cents to contribute on this issue.

In a nutshell:  BBC said that they have almost 3x the number of developers working on their Android app as their iOS app.  Justin Williams says that this doesn’t necessarily mean that it’s 3x harder to build an Android app.

And of course Justin is right, but my take is that the truth is somewhere in between.

iOS is somewhat fragmented itself these days.  It’s a lot of work building an app that can span iOS 6 and iOS 7, iPad, iPhone 3.5″ and iPhone 4″.  But my actual experience building apps that support all these devices is that it’s much easier to deal with the minimal fragmentation in iOS than it is the massive fragmentation in Android.

The problem with Android is you need to support some seriously old devices and operating systems, or else you drop a third of all the Android devices off your supported devices list.  Most apps need to support not just a huge range of screen sizes but varying amounts of memory, GPU, and button availability.

Building an Android app that supports Android 4.0+ across a single tablet and a single phone would be roughly equivalent to building an iOS app of similar complexity, assuming the app didn’t depend on some Cocoa framework that just isn’t available on Android.  (For example, good luck generating a PDF from an Android app).

But then add support for Android 2.3.  Add support for low memory devices.  Add time for testing on a wider range of devices.  Extra time for tuning to try to get smooth performance on slower devices.

And add time for the emulator that Android developers have to use.  A typical edit/compile/test cycle simply takes longer with the Android tools than it does with Xcode.  It all adds up.

If I had to come up with a guideline, I’d say building an Android app would take 1.5x to 2x as long as an equivalent iOS app.