You have a great mobile idea. Plus, you have the development skills to transform that idea into a real product. And, maybe you have a design or business partner. Now it’s time to validate your idea with the market. But… should you go with iOS or Android? Here, we’ll go through five items you must review before making the final decision.

Market share

Let’s face it: Android enjoys the biggest piece of the pie. That’s the truth. Period. If the total market share were Pacman, Android would be the videogame character itself, while iOS would be its open mouth. In cold, hard numbers, it would be 80:20 in favor of Android. But this doesn’t mean you have to choose Android because it has more users than its Apple competitor. Actually, it’s merely one consideration to keep in mind while making your decision, but not the ultimate one.

We are talking about an MVP, so you first have to think about the city, or even neighborhood where you want to test your market. Is that city a technological one? Then seriously consider iOS. Alternatively, is it a non-rich city? In that case, Android is an excellent option.

Ask yourself questions related to the market where you are launching! This will make the decision easier.

Development costs

At this stage of the project you don’t have a big budget to spend. Remember you are about to develop an MVP so you don’t even know if the product will be accepted by the market and, by consequence, generate any type of revenue. Being optimistic, let’s say you are backed by an angel investor, so your savings are not at risk. Even then, you still have to take care of your money if you want to succeed in the future, so you must know the development cost you will front.

First of all, let’s compare license costs. If you want to publish an app on the Apple App Store, you will be spending 100 USD per year. On the other hand, publishing on Google Play will cost to you 25 USD one single time. That’s the first difference.

Next, keep in mind the fact that you need real devices to test: you cannot depend on a simulator. The simulator is very useful at development time, but if you want to avoid unexpected bugs and negative feedback, a good QA process is a must. A good way to save some money is to borrow them from friends or family, but if you can’t, you have to compare prices of all ranges of Android and iOS devices.

Last but not least, if iOS is your choice, you will need an Apple computer to run Xcode, while in comparison, you can run Android Studio with a cheaper machine. You can always install a virtual machine with Mac OS on it, but that would require a more expensive computer than average.

Now you know the development costs of both platforms. If this is not a problem for you, awesome! You have one less problem to worry about.

Java vs. Swift / Objective-C

So you have never developed a native mobile app, but you have solid experience in languages such as Java or C#. In that case, the learning process on Android development will be easier and faster: you will write Java and some XML for user interfaces with Android Studio.

On the other hand, iOS native development will require knowledge of Swift or Objective-C, and you will have to deal with the more-complete but more-complex Interface Builder (Apple’s software to build user interfaces) with Xcode.

Maybe you are not familiar with any of those languages, but believe me, they are not as difficult to learn as they look. Also, as a developer I think that it is always a good idea to keep challenging ourselves to expand our knowledge and learn new languages.

This is sort of a personal choice, but my suggestion is that if you don’t have a close deadline, go out of your comfort zone and pick the most challenging language for you. But be careful, the project needs take precedence over any personal whim. Always.

Project type

Now it’s time to go into the details of your project: Is your app focused on its design? Is performance a must-have? Well, maybe iOS is the right choice for you. I’m not saying there are not Android devices with great performance, but there are only 9 iPhone versions on the market, all of them with the characteristic quality of an Apple product, while there are hundreds of Androids out there with different qualities and features from different companies.

Also, while Android is a more open OS (and that can be a big advantage in some situations), iOS is closed-source and Apple controls almost everything on it: being performant impacts directly on the user experience.

To continue: Is your app design-oriented? Do you need performance on most of the devices? Go iOS. If not, go Android.

The iOS user’s emphasis is more on design and performance than Android’s, and this gives me the opening to make the next and last point…

User’s behavior

As a developer, you have to know that Android and iOS users are different. They are different and behave differently. For example, do you know that iOS users spend 2.5x more money on in-app purchases than Android users? That’s because iOS users are more active with their apps after downloading them, while Android users are prone to uninstall their new apps faster.

The loyalty to their devices differ significantly: Android may have the biggest portion of the market (as pointed out earlier), but iOS users are more loyal to their devices and spend more money with them. Now that you know that, guess which users are more interesting to m-commerce developers… exactly, iOS users!

There are many more points of comparison between users of both platforms, and these are only a few. It’s up to you to research those that are relevant to your project, in order to prepare yourself to make the right decision.

To conclude, each project has its own needs and may target different markets, so I completely understand if you now have more doubts than certainties about your decision. But I’m sure that you will clarify all your doubts after taking these 5 points into consideration, and you will make the right choice at the right moment. So good luck with your development and I look forward to seeing your MVP at the App Store or on Google Play!