What it is: iOS and Android dominate the mobile computing market, yet they’re much different from a developer’s perspective.
From a consumer’s perspective, Android dominates. Most of the smartphone market relies on Android so it would seem to make sense for more developers to target Android. Yet the opposite actually occurs. Even though iOS holds a much smaller percentage of the mobile market, more developers target iOS. Apple actually snags close to 90% of the smartphone profits while most Android manufacturers (with the exception of Samsung) actually lose money selling Android smartphones and tablets. Why don’t developers target Android if more people use Android?
The answer comes from Android fragmentation. Xojo, a company that sells a development tool modeled closely after Microsoft’s old Visual Basic, currently sells a programming tool that runs on Windows, Linux, and macOS while letting you create iOS apps as well. The company eventually wants to let people create Android apps, but there’s a huge problem.
Android manufacturers only make money selling new devices. That means they have zero incentive to upgrade their existing devices. Why bother? It costs time and money to test new Android upgrades on existing devices and if they can’t make money doing os, it actually costs the company money to test and upgrade existing devices with the latest Android version.
As a result, most companies never update their devices to newer Android versions. If you want to get the latest Android version, you generally have to buy a new device. That means as a developer, most Android devices are running older versions of the operating system. So if you want to develop for Android, it’s best to target two or three generations behind the latest Android version to capture the largest market share possible.
This means ignoring the latest features of Android and focusing only on the simplest features available on previous versions of Android. For a developer, that also means testing your app on multiple Android versions on multiple devices. In other words, Android forces you to work harder to make less money and create apps with far less features than similar iOS apps.
On the other hand, Apple makes money selling new devices and also through additional services such as selling you music through iTunes, selling you ebooks through iBooks, and earning a percentage of every transaction when you use Apple Pay. So apple makes it easy to update to the latest version of iOS because it’s in their own best interest to get customers moved to the latest version possible. That means developers can target the latest version of iOS and ignore older versions altogether.
So although iOS holds a smaller market share, it’s much easier to develop for because you only need to worry about one operating system version and you can use the latest features of that latest operating system as well.
That’s why developers often create apps for iOS first and Android second. iOS is where the money is. Android is where the headaches lie, but if you need to reach the entire mobile market, you absolutely must develop for both iOS and Android. The big difference is that you’ll spend less time and make more money on iOS and spend more time and make less money on Android.
From a developer’s point of view, Android is much messier to develop for than iOS. One huge reason Windows became popular was because so many developers wrote programs for Windows. The same logic holds true with iOS. With so many developers creating apps for iOS, iOS tends to get the newest and latest apps first before Android. Sometimes iOS and Android get apps at the same time, but rarely does Android get an app before iOS does.
If you’re just a user, it’s safer to use iOS since you know every new app will target iOS. If you’re a developer, it’s easier and more profitable to develop for iOS than Android. If both users and developers find it easier to use iOS, then what’s the compelling reason for anyone to use Android?