Should I Develop an App for iOS or Android?
by Tim Bornholdt · Published on March 25, 2020
This post was originally written in 2013, but we've updated it to be more accurate in 2020.
One of the earliest decisions you'll need to make for your app is choosing which mobile operating systems you will support. There is no clear-cut, one-size-fits-all answer to this question; it really depends on a variety of factors, such as:
- Do you want your app in as many hands as possible?
- Are you looking to maximize your average revenue per download?
- Is there a specific functionality (like iBeacon or NFC) that you want to incorporate in your app?
In this post, we will examine a few factors which will help you decide which operating systems to support.
But wait... isn't there a platform where I can build an app and have it run everywhere?
The computer languages used to build mobile apps vary between operating systems. Android apps are generally built using either Kotlin or Java, while iOS apps are built using either Objective-C or Swift. While it's possible to manually translate an app from one language to another, it's more cost-effective to start from scratch. (Imagine having to translate a law book from English to German. Doesn't sound like much fun, does it?)
There are many tools which try to solve this problem by enabling developers to write code in one language and have it automatically work on multiple platforms, such as React Native and Xamarin. There are also web-based tools which allow people to drag and drop elements into an app without any development experience.
These tools can work great if you have a simple problem that has already been solved many times over. If you're a restaurant, you can find dozens of off-the-shelf programs which will get you off the ground running. If you need a project management tool for your business, you can use Trello or Jira or Basecame or one of a thousand other tools built for managing projects.
While these tools can get you started, there are definite limitations to them. If your restaurant has a custom point of sale system that you need to integrate with, or your business uses a non-standard procedure for managing projects, you are going to be hard-pressed to find a "one size fits all" solution that works right for your business.
In addition, tools like React Native and Xamarin cannot account for certain app-specific optimizations that will make your app feel fast and truly native. If you're looking to build a quality, native app, then these general purpose tools will not be of much use to you and your development team. Just ask the Facebook Messenger team who recently switched from dabbling with cross platform solutions and is now sticking with native app development.
And finally, if you want to catch us on a technicality, you could make the case that there is a platform in which you can write your app once and have it available to devices of any shape, size or model: your web browser.
If you absolutely must accommodate every single customer you possibly can for the lowest cost, building a web app could be the solution you're looking for.
But since we're strictly discussing native platforms, how do we determine which ones to develop for?
In an ideal world (where all of our project budgets are bountiful and our timelines are infinite), the answer to this entire blog post would be quite simple:
Q: Should I build an App for iOS or Android?
A: Yes. Both. And Windows Phone, too. Heck, let's throw Blackberry in there, too.
In reality, however, app development is an expensive endeavor, and costs can escalade quickly if you need to target more than one platform.
We typically quote our clients the cost for development on iOS and double it if they need an Android version. Before insisting on building your app for multiple platforms, ensure that you have the capital required to fund it.
In 2019, Apple CEO Tim Cook announced that Apple had 1.4 billion active iOS devices. In May 2019, Android director Stephanie Cuthbertson announced that Google had activated 2.5 billion Android devices. There's no denying it: the mobile revolution has spread to all corners of the world and, consequently, all segments of the market.
If your app requires the largest worldwide reach as possible, you'd be hard-pressed to find a more prolific platform than Android, whose worldwide market share of 86.6% is only expected to increase the next several years. Market share thought doesn't dictate where your precise customer is located. While you will undoubtedly find portions of your market on either platform, you can certainly dig a bit deeper to find where the majority of them exist.
The sales numbers tell a different story. According to mobile app analytics company Flurry, iOS users pay an average of 19 cents per app. That might not seem like a lot, but it certainly looks better when compared to Android's 6 cents per user. In fact, iPhone users tend to spend more than Android users in almost everything, from clothing to tech to vacations, according to a survey by Slickdeals.
Instead of looking into market share numbers, spend some time researching which platforms attract your app's specific market. If your app will be marketed towards college students in Chicago, you might want to develop for a different platform than someone who is building an app geared towards senior citizens in Russia.
A big part of deciding which platform to develop for should include your app's revenue model. The app ecosystem allows for several different ways to make money, including:
- Pay once, up-front
- Freemium (Free to download, unlock functionality with in-app purchases)
- Free with advertisements
- Recurring subscriptions
As we noted above, if your goal is to make money from raw, up-front sales or through the freemium model (which we tend to recommend), you'll statistically have a better shot at success on iOS than Android. If you want to get your app in as many hands as possible and make money by selling your entire app to a larger business, you might want to develop for Android first.
As with your market research, spend some time looking at the spending habits of customers on both platforms.
Traditionally, Apple is known for having a strict App Review process. This means that the store is less filled with junk apps, but it also means that you have to pass through the gatekeepers before your app is allowed onto the store.
Over the past few years, however, Apple has opened up functionality that previously was forbidden. For example, apps are able to run longer in the background and can perform actions when triggered by a Siri request.
On the other side of the market, the Google Play store is a little more "wild west" than the App Store. While the Google Play store does have some restrictions on the types of apps allowed in its store, for the most part, you can create any kind of app you want and distribute it through their store.
Also, there are certain tasks that are completely off limits to an iOS developer, such as directly manipulating the primary phone or camera apps. Android apps, on the other hand, have much more flexibility in terms of running in the background and integrating with system apps.
Ask your developer if your app idea is technically feasible to build for each platform before committing to one over the other.
Developing for the iPhone and iPad is relatively straight-forward. Developers need to worry about a handful of devices which have relatively similar specs between devices (in terms of memory, hard drive space, etc.).
The biggest challenge for testing on iOS comes with making sure the app looks good on the various screen sizes. Typically, we test against the smallest device possible (the iPhone SE) and the largest (an iPad Pro), and then we look at it on a handful of other sized devices to iron out any potential wrinkles.
In this regard, developing for the Android platform can be much more challenging. Android's greatest strength of being available for virtually any device is also its greatest weakness. In addition to worrying about the myriad of screen sizes, there is an endless amount of hardware configurations which, if not tested for, could cause unexpected issues in your app. Take a look at these figures provided by Google to see how diverse the Android ecosystem actually is.
Most apps won't require supporting such exotic devices, but if you are targeting a worldwide market, you might want to keep the potential costs of testing in mind.
Both Android and iOS provide excellent platforms for you to market and sell your app. Before deciding which platform to throw your weight behind, discuss these topics with your development team. If you have any further questions or want to ask an experienced development company which platform makes sense for your idea, contact us today!