There are two dominant mobile platforms; why develop for just one? While it’s true that
iOS apps are more lucrative, Android has the largest global platform share. Take a look at popular apps such as Instagram or Airbnb – both originally launched in iOS but eventually converted to Android. Because why wouldn’t you want to reach the largest market possible?
It would be really cool if there were some conversion software where you just flip a switch, everything ports over and, next thing you know, you’ve instantaneously become an Android App developer. Except, there is no such thing.
When we talk about porting from iOS to Android, it involves a lot more than just copying, if only because each uses different programming languages. It’s more a case of using the conceptual framework you’ve already developed for one platform and then rewriting it for the other. In essence, you’ve got to be an Android app developer in addition to being an iOS developer. So, you’ve got to learn how to create an Android app, but the good news is that you already have a head start.
Apps for iOS are typically written in Objective C or Swift. Android apps are written in Java. While there are C-to-Java converters, they don’t reconcile API differences and, in practice, you’ll spend more time trying to get converted code working right than you would if you just start from scratch.
Consider writing your iOS apps in Swift, which has some commonalities with another Android programming language called Kotlin. While not totally identical, some Swift coding can be copied to Kotlin with some modification. Also think about using a cross-platform development kit such as React Native, which lets you code the same fundamental UI building blocks for both platforms.
When recording, make sure to separate business-logic code from platform-specific code. It makes no sense to copy the code for the UI since you’re going to need to redevelop that for the Android world. Distinguish between the features that are common to both platforms and those pertinent to only one of them. As with any app development, you need to spend time testing the app’s data handling and graphics display.
Opportunity to Enhance
Since you’re recording anyway, now is the time to add enhancements. While you can retain the same overall content, there’s some significant redesign involved in porting that content over to Android. Google wants a distinct look and feel for its Android apps and doesn’t want anything that looks like it could be on an iPhone. Your iOS design tools aren’t of any use here. Alternative drawing tools include Photoshop, Visio or Balsamiq.
Android Design Differences
Android app developers follow these design guidelines. As a general rule, you want to avoid the roundness and smooth edges of the iOS look. Other basic differences include:
- Object Placement: iOS is flatter; Android’s material design likes a hierarchical arrangement of objects, while the Apple OS makes objects appear flush.
- Icons: Android uses simpler generic icons for lists while iOS users more colorful icons with arrows. In addition, Apple has stricter icon app requirements, especially regarding shape, than Android designs.
- Navigation Bars: In iOS, navigation bars are lower and use a centered tile, compared to Android’s greater height and left-placement titles.
- Font: The iOS default font is San Francisco; Roboto is the most commonly used Android font.
- Datepickers: You tap on an Android datepicker; in iOS, you most often scroll to pick a date.
- Buttons: Apple mobile devices have one physical button, while Android uses as many as three – home, back and multitasking. Consequently, Android has a more vertical look, compared to a combination of horizontal and vertical design in iOS.
Fit to More Screens
Apple has a limited number of screens and resolutions, unlike in Android where there is a larger number of screen sizes and a variety of vertical and horizontal layouts. Consult Google’s Layout Editor to test multiple screen sizes.
Apple users like to upgrade; iOS developers generally only have to worry about testing for the last two OS versions. The Android market is much more fragmented, with old versions still in wide use, often on hardware that does not make it easy to upgrade. Also, there’s a new Android P (9.0) in beta with a simpler system navigation interface to consider. Even so, earlier versions are likely to remain in wide use, so there’s no fear that designing an Android app today for current versions is going to be obsolete or dated anytime soon. The bad news is that your app has to accommodate all those different versions. DeviceAtlas provides information on which versions are most widely used in your target market.
The main advantage of porting from iOS to Android is considerably less time – at least 50 percent less – spent iterating the design because you’ve already developed usability and the user interface in the original app. Given that Android and iOS are the dominant mobile platforms, why limit yourself to only one? Make your app more widely available to those in the non-iOS world, gain market share and increase revenues.