Porting iOS App To Android? Here’s What You Need To Know
15 May. 2017 Mobile App
Some businesses have a strategy to develop an iOS app first and release it in the App store before developing for Android OS. Based on the feedback and success received from the iOS app, some companies then decide to build for Android. Even though with this strategy of developing iOS app first, as of Q4 2016, Android is growing strong and claims the lion’s share of the market with 81.7% compared to iOS which ranks second at 17.9%. Businesses and developers have some equally compelling reasons for developing iOS and Android apps. iOS is often seen as more developer-friendly and lucrative, while Android has mass appeal and a wide audience reach.
How to port your iOS app to Android
It is therefore obvious that an Android app follows suit after the initial iOS release. But both platforms are as different as chalk and cheese and what works for one doesn’t work for the other. Thus, converting or porting iOS apps to Android needs careful consideration and a meticulous approach following best practice. You may need to consult an Android mobile application development company to implement the conversion.
How To Convert Your iOS App To Android?
Porting to Android requires a significant amount of redesign. There is a stark difference between the design philosophy of iOS and Android ecosystems. You will want to retain the same content, structure and graphics but must build from the ground up for Android.
Layout And Buttons
Google selects a handful of applications in the Play Store on its featured list. One of the criteria for the apps that make the cut, is round corners on buttons. Yes, Google is not a fan of the ‘iPhoneish’ elements on native Android apps. Android toggles, buttons and tabs veer towards a ‘square’ look. So, don’t recreate the roundness and smooth edges of iOS when rebuilding your app.
Avoid using iOS design tools altogether. You may use your favorite drawing tool from Photoshop, Visio, Balsamiq or even draw the wireframes manually.
Some key design differences to bear in mind when you port iPhone app to Android:
- Buttons (square on Android vs. round on iOS)
- Lists (left pointing arrows vs. right)
- Tabs (at the bottom of the screen vs. top)
- Date/time selectors
- Navigation (physical button for back navigation vs. top back button for back)
Well-designed Android apps share some common navigation rules. For example, the look and feel of the close button, left-aligned title bar, and search embedded on the title bar. The Android philosophy is that users should be able to access your app content as quickly as possible because they don’t want to reinvent the wheel and relearn your peculiar navigation.
Since Android 5.0 all new apps for Android have started to use Material Design. And Google highly recommends that you refer to the principles laid out in Material Design. Some common UI elements found here help reduce engineer time and increase usability. When porting from iOS to Android, some features and animations may need to be rethought.
While re-designing your app, consider how data and graphics render on much larger and smaller screens (than iOS). You want to consider vertical and horizontal aspect ratios. Identify the top 10-12 Android devices that your target market uses because there is a clear device preference among various countries. Clearly you won’t have time to customize or test your app on every single iOS device but then nobody ever does that. With 24,000 Android devices and more on the market, it is not really possible to get full test coverage. Test across a number of devices with both high and low powered processors.
Android OS Versions
DeviceAtlas offers detailed analytics on the market share of each version of Android OS by country and this is a good tool to research your market. Bear in mind that some device makers make it difficult for customers to upgrade to the latest OS versions, so customers may be stuck on an older version.
You need to support a whole lot of screen sizes when you redesign for Android. The good news is that Google provides a layout tool to aid your developer create an app that looks great on any screen size. Your designer can develop visual assets for a common aspect ratio and the developer can then support additional screen sizes with code.
When it comes to the code, don’t make the mistake of thinking you can lift your Objective-C code from the iOS app and recompile it for Android. The reason being that Android apps are built largely on Java although C can also be called. Fortunately you can avail of several tools that help you translate the business logic from Objective-C to Java. If the iOS app uses the vanilla version of C, then you can reuse this code on Android. This is useful for porting complex libraries or to provide enhanced performance.
Java is somewhat slower than compiled Objective-C. So you should focus on those elements of your app that are time-sensitive. You may need to tweak certain aspects of capability or design – for instance the use of native C code or alternative special techniques to prevent Java garbage collection.
Java has a comparatively smaller heap size vis-a-vis iOS. Thus it is not possible to open images full size. This is one factor that will impact your app and you might have to do things differently or move the code to c where there’s no such restriction. iPhone apps require a PNG splash screen but Google discourages Android programmers from creating one. Android apps are designed to be lighter because many devices tend to be low-end and operate on slower networks. So you need to reduce text and minimize the number of custom PNG files per language.
Conclusion: How To Port Apple Apps to Android?
Porting iOS App to Android requires significant planning and design consideration. Ensure you budget for UX testing, source app business logic analysis, accurate coding and testing etc. On the other hand, it sometimes makes sense to build a cross-platform app using Xamarin or PhoneGap to avoid this process of conversion. If you would like further information about porting apps between OS, then please contact our team at Rishabh Software.