Over a million developers have joined DZone.

Picking a Platform for Your Mobile App

DZone's Guide to

Picking a Platform for Your Mobile App

· Java Zone ·
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

When it comes to building an app, platform selection is one of the first things you have to consider. Do we want our app running on iOS, Android, Windows, Blackberry, Tizen, more? That’s an easy answer – all of them!

It’d be nice if that were the end of discussion, but it’s likely you or your company have limited resources (if not, sign me up!). Since there are only so many devices you can support and so many systems you can build for, you’ll have to pick your battles wisely.

We’ll focus on the big three (Android, iOS and Windows), and unless your app has a very specific use case, you should too! Here are a few things to consider when choosing which platform(s) to build on:

Which stage is your app in?

If your app is a new idea and you’re looking to build something great – you don’t know which path will take you there! You’ll need to build fast and iterate often, which means you probably want to stick to one platform to cut down on development time. If possible, stick to a language you already know (we’ll talk more about those in a later post). Once your app finds its true identity and the features stabilize, you can look to invest in more development time and expand to other platforms.

How fast do you need to get to market?

Whether your app idea is first or second to the app store could make or break the entire project. It could also be that you are building a mobile store front for a company, with every day the app isn’t being used is revenue lost. In that case, Android might be a good option, as apps can be uploaded and released in minutes. iOS and Windows app submissions require a review process that can take up to 7 days or more.

Which platform will have the largest reach?

While Android rules in terms of devices shipped at 84%, it’s important to take into account the fact that many of these devices aren’t necessarily app users. A more quality metric for our purposes may come from this source, who shows active web users on various platforms (Android 45%, iOS 44%). So while there are more Android devices by a long shot, the number of engaged app users is probably closer to even between iOS and Android. Windows has a long way to go, but has gained a bit of traction over the past year.

Which devices do you want to utilize?

When it comes to various phones and tablets, Flurry has a great report about how popular various devices sizes are. Medium phones are still the champion, but don’t forget to consider your use case and keep these metrics in mind when you choose which device(s) to build for.

What if you want to build for TVs? Watches? Other devices? Apple is coming out with their watch soon, but Android is already a mainstay in the alternative device market and would likely be your best choice.

Which platform drives the most revenue?

Broadly speaking, iOS tends to have users with deeper (or more willing) pockets. This recent report from ZDNet depicts how iOS dominated this year’s Black Friday sales with over 4x the revenue of Android.

Source: ZDNet

For a more digestable list, check out a few of the big three’s pros and cons:



  • Limited number of device types to design and build for
  • Higher paying demographic
  • Large market size
  • Users update their operating system more quickly, so you can build against the latest APIs


  • Accessing the device and operating system not as open for developers
  • App store review is slow



  • Largest market share
  • Easiest to publish/release the app to the app store


  • Device fragmentation makes for tougher development and QA
  • Users are slower to update their OS, so you must remain compatible with older APIs



  • Smaller number of apps in the store == less competition
  • Language and development environment are familiar to many developers
  • Portability to desktop apps


  • Very small market share, harder to get into user’s hands

My Choice

Personally, I tend to develop my apps on iOS first. As a small development team, it makes the most sense for us to reduce the number of devices we have to design and build for. Since our apps are generally consumer-targeted and looking to drive profit, iOS allows us to get the app into the most paying hands in the least amount of time. From there, we can see how the app performs in the market, make tweaks and changes to a single platform until the app is mature – at which point it’s time to port to Android!

Wrapping up

The platform you select is largely up to you and your preferences, but hopefully this gives you some thoughts to take into consideration before you make a decision. Stay tuned for our next post about starting to design and wireframe your app to bring it to life!

Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}