This is part 2 of a series on “Why iOS? Why not Android?”
Why do we have different operating systems in the first place? Because someone believes their way is right, and the other ways are wrong. We are a world of 7 billion people, and opinions are going to differ. Approaches to solving problems will not be the same for all.
The computing world has always tried to bridge these differences. Frameworks are developed to abstract OS differences away. Technologies are developed that alleviate platform differences. We tried with Mac, Windows, and Linux, and we’re trying again with iOS and Android and even Windows Phone. The reality is, these technologies rarely work out to an optimal solution. Yes there are times it can work OK; games are one place, highly specialized apps are another. But in the end, most companies that tried to go the cross-platform route realized it’s a poor solution. You end up having least-common-denominator issues, you create solutions that don’t match user expectation for the environment they run within, or it just looks and performs poorly. One of the most recent of these was Facebook trying to solidify their mobile app development, produced a horrible iOS app, and had to scrap it and start over writing a native app. How costly was that lesson to learn? Even after decades of such failed alchemy, people still are hopeful they can turn lead into gold.
This isn’t to say there aren’t ways to manage complexity, to help bridge platforms, and help keep costs and development issues reasonable. But those certainly should be tackled on a case-by-case basis. In general tho, I don’t prefer cross-platform solutions that attempt to be a “write once, run everywhere” because it just leads to a less than ideal product. You have this great vision, you should fully realize it; not half-ass it.
But let’s simplify here.
For a lot of people it comes down to one of two basic things: time and money.
For a lot of people, they don’t have much of either.
If you want to develop both an iOS and Android app, it’s going to require more time and money than if you developed for only iOS or Android.
When people want to develop an app, they often want to do it because somehow they want to see a return on that investment. The simple reality? iOS makes more money than Android. Sure, Android has a larger user base, but it’s not a user base that generates revenue, or at least as much revenue as iOS. If in theory it takes the same amount of time and effort (and money) to write an iOS app as it does an Android app, all development costs equal, wouldn’t you then pick the one that generates more return on your investment?
This isn’t to say it’s a blanket situation. Your particular situation may play well to Android-first/Android-only. It just depends upon your particular needs. But on the whole, iOS tends to be a more successful solution for folks, so we focus our efforts there.