By John Houghton on December 9, 2013
Suppose you have an iOS app (iPhone/iPad/iPod) that you’ve developed. It’s already out on the market, and now you want to do the same thing on Android, essentially move it over. How much cost or effort will it take?
Basically, it’s about the same coding effort as it was to develop the original iOS app. You see, iOS apps are written in Objective-C, but Android apps are written in Java. The languages are totally different and use different libraries. The things you can leverage are the look and feel of the user interface, and since you’ve been through the development process once, chances are, the Android rewrite will be quicker.
Why hasn’t anyone figured out how to write once and publish to multiple platforms? They have, but the results are sub-optimal. For example, you might be left with an app that performs poorly (more of a web app experience) and is therefore not well-suited to either iOS or Android audiences, in which case it fails in both markets. Let me explain.
The user interface and user experience (UI/UX) on an iPhone follows specific conventions that allow users to intuitively use the device. It is the same with Android. If you put an iPhone user on an Android device (or vice versa) they’re going to have a hard time. An analogy is having a Windows user try to use a Mac. It’s likely they are going to have a difficult time at first doing anything. It is the same with mobile devices. If you had an iPhone/iPad/iPod app and you ported it straight over to Android, it wouldn’t be intuitive for Android users to use. The app’s UI/UX needs to be modified to follow Android’s UI/UX conventions, which will not only change the look of the screens, but likely the flow of the app as well.
Keep in mind, one of the main challenges on Android is device fragmentation, since there are many different devices with different screen sizes and geometries. It can be mind-boggling, so you need to account for these and test on the many different devices. On Apple, they’ve controlled very carefully the number of devices, operating systems, screen sizes and geometries, so apps are much easier to develop and test from that standpoint.
On Android, even if you stick to the most popular devices, you still have to worry about testing on the different operating system versions, summarized below:
Jelly Bean (4.1+)
Ice Cream Sandwich (4.0)
Complicating things further, each of the carriers (Verizon, AT&T, etc) can modify the Android operating system, changing its behavior and sometimes warranting separate testing (Quality Assurance – QA) by the developer.
In summary, it’s going to be about double the effort to port the app to Android, or slightly more because of QA, but this depends on the complexity of the app.