There are a multitude of challenges when developing a mobile app for iOS and Android, but as one team of developers discovered after over a year of work and post-release analysis, not all platforms are created equal.
Earlier this week, app developer Infinum published a blog post detailing the differences between developing for an iOS device and an Android device. You can probably guess the outcome, but it’s the specific numbers that really sparked my interest.
Looking back over its last six projects, each of which was released on the App Store and the Google Play store, Infinum found that on average, the Android versions of the apps required 38% more coding than the iOS versions.
Interestingly, the largest of the six projects only had 6% more lines of code on Android vs. iOS, but another project that needed only 5,000 lines of code on iOS used over 14,000 lines on Android. As Infinum explains, more code is actually a good thing, but as you’ll see, there are significant tradeoffs that have to be made to accommodate for the extra code.
The team used a service called Productive in order to keep track of how much time the developers spent working on an app. By diving into the records, Infinum found that they were spending ~30% more time developing on Android than on iOS.
So if a company is hiring a development to build an app, they’re often going to have to pay more for Android apps (on average) because it’s bigger time commitment for the team, which in turn equals more billable hours.
The team also provided some speculation as to why Android development takes longer:
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.
The team concludes with a reassuring note about Android development getting easier and faster, but for the time being, the team has had no choice but to take into account the added time of building on Android when charging clients.