I recently read an article which can be useful for many...
here is the summary:
The takeaway here is that, on average, you spend ~30% more timeworking on Android than on iOS projects. As you can see in our table, sometimes the difference can be much bigger and sometimes much smaller, but, from our experience, the median value is around 30%.
We're not inclined to believe that this has anything to do with the quality of engineers on any of the platforms, as our team is equally great on both platforms, and our HR process doesn't discriminate when hiring for either position.
So why is Android development slower?
That's a very good question. We've been speculating about this for a long time, and what we've managed to figure out is that it's a combination of a couple of factors:
When we started doing iOS and Android development on a work for hirebasis, we based all time estimates on the assumption that iOS and Android development take the same amount of time.
We abandoned that premise about two years ago, and today we take into account 20-30% more time for Android for all the estimates we do.
That means that if we estimate an app at 500 hours to be built for iOS, we estimate it (and charge it accordingly) at around 650 hours for Android.
What's the trend here?
What's good here is that the trend is changing. The tooling for Android, which we covered here, is getting so much better, that in the future this Android tax will probably go down. Only metrics will tell.
Of course these metrics can't possibly convey every possible scenario and problem you have while building software. But what we wanted to say here is that, generally speaking, Android takes longer.
Thanks to my colleague Ivan Kocijan for his help with the data preparation for this article.
here is the summary:
The takeaway here is that, on average, you spend ~30% more timeworking on Android than on iOS projects. As you can see in our table, sometimes the difference can be much bigger and sometimes much smaller, but, from our experience, the median value is around 30%.
We're not inclined to believe that this has anything to do with the quality of engineers on any of the platforms, as our team is equally great on both platforms, and our HR process doesn't discriminate when hiring for either position.
So why is Android development slower?
That's a very good question. We've been speculating about this for a long time, and what we've managed to figure out is that it's a combination of a couple of factors:
- Just more code - applications for Android are written in Java, which is simply a more verbose language than Objective-C or Swift. You're bound to write more code. More often than not, having to write more code means working longer and more potential bugs.
- Emulators are slower - even with GenyMotion, Android emulators are just slower than iOS simulators. This is just a factor that slows down the overall development.
- Fragmentation - more devices to test against, more potential vendor-specific bugs ("Damn, this only shows up on this random Chinese phone you can only buy in Lithuania!")
- XML layouting - on Android, layouts are primarily written manually in XML, so WYSIWYG techniques are used less than on iOS.
When we started doing iOS and Android development on a work for hirebasis, we based all time estimates on the assumption that iOS and Android development take the same amount of time.
We abandoned that premise about two years ago, and today we take into account 20-30% more time for Android for all the estimates we do.
That means that if we estimate an app at 500 hours to be built for iOS, we estimate it (and charge it accordingly) at around 650 hours for Android.
What's the trend here?
What's good here is that the trend is changing. The tooling for Android, which we covered here, is getting so much better, that in the future this Android tax will probably go down. Only metrics will tell.
Of course these metrics can't possibly convey every possible scenario and problem you have while building software. But what we wanted to say here is that, generally speaking, Android takes longer.
Thanks to my colleague Ivan Kocijan for his help with the data preparation for this article.