iOS vs Android development – When it comes to choosing a target platform for your mobile app or game, there’s still two main options. iOS and Android have dominated mobile devices since the introduction of the smartphone and there are no signs of this changing anytime soon.
So what are the real differences between the platforms?
1. The Devices
Screen Size & Resolution
An obvious place to start is the devices you’ll be developing for. It’s important to consider the device users have when interacting with your app. This will have a number of design implications. Screen size and resolution is one of the main factors that you need to consider when choosing a platform.
If you choose to develop iOS apps, screen size and resolution play a smaller role in your development process. Apple produces a limited range of devices based on the design of the iPad and iPhone. It’s easy to familiarize yourself with these devices.
For Android developers, things are more complicated. There are an ever increasing number of manufacturers making devices with the Android OS. And they come in all different shapes and sizes.
Choosing between iOS and Android means deciding how you’ll approach the challenge of different screen sizes. If you want the straightforward option, then iOS development is a safe bet. If you can overcome the obstacle of making your app work on a multitude of devices, Android development is an option too.
Note: Of course, developing your app or game with Felgo means that your app will work on devices of any size and resolution. We’ve developed an approach that simplifies this issue and allows you to concentrate on more important aspects of your app or game. You can take a look at our documentation to find out how Felgo apps and games work seamlessly on devices of any screen size or resolution .
- How to Create Mobile Games for Different Screen Sizes and Resolutions
- Supporting Multiple Screen Sizes & Screen Densities with Felgo Apps
Other Hardware Differences
While most apps operate without running into hardware limitations, it’s still something you need to consider before development.
Again, iOS development means you only need to consider a couple of different hardware configurations. Apple equips all of its devices with high quality hardware and their products can be complimented with a wide range of peripherals.
Android devices have a much wider range of capabilities. You can develop Android apps for devices with specifications that will make even the most ardent Apple fan jealous. On the other hand, there are a lot of low budget Android devices that can struggle when running apps or games that require a lot of processing power.
The following factors need to be considered when thinking about the differences between Android and iOS devices:
- Battery Life
- Camera Quality
- Connectivity Options
If your potential app or game is going to depend on one of these factors to function as intended, then you better make sure the platform you develop for has the hardware you need.
2. The Market Place
When you choose between iOS and Android development, you also choose a market for your app to enter. Before you can even start thinking about this, you need to know what kind of monetization model you’re going to use.
You can make money from your app or game in a number of different ways. Here are some of the most common monetization models.
- Premium apps or games: These apps make money by charging a one-time fee before a user can download them. These apps and games are normally ad-free and offer functionality that free apps and games don’t offer.
- In-app advertising: There are a number of different ad types such as video ads or banners. You’ll need to test where you locate these ads in order to maximize revenue, engagement and retention rates. This model works well when your app receives regular visits and long usage sessions.
- Free-to-play or freemium apps and games: This monetization model usually depends on a mixture of in-app purchases and advertising. It works well if you can offer premium features inside the app that can improve user experience and app functionality.
- Subscription model: Users pay a fee on a monthly or annual basis for the services provided. This model is often used when you provide users with media content on a regular basis.
- In-app purchases: Sell physical items from your app, i.e. an online store.
The monetization model you choose will depend on your target users and your app or game’s functionality. Once you’ve decided what model to use, you can see how well it works in the different marketplaces.
Note: Felgo offers a range of plugins that support monetization within your app or game. You can take advantage of simple plugin integration to include in-app purchases and in-app advertising in your app or game with just a few lines of code. For more details on how to try out Felgo plugins and how to quickly integrate these features, check out this post!
Despite the fact that Google Play and the App Store both offer the same products; mobile apps and games, they differ greatly when comparing downloads and revenue earned.
In 2015 for example, a lot of major online news sites were reporting that the App Store generated 75% more revenue than the Google Play Store. The Play Store in turn generated 2x more downloads than the App Store.
These numbers aren’t exact for a number of reasons. App Annie, the company reporting these statistics, doesn’t have statistics for Android downloads in China. Android has been the dominant platform in China historically so a large number of downloads are missing from these statistics.
As well as this, App Annie doesn’t track the amount of downloads received by Apple apps in the App Store. 6 of the top 100 apps in the App Store are made by Apple so this must also be considered.
While the difference isn’t as great as reported, it still exists and needs to be considered before choosing a platform to develop for.
If you’re working on a premium app, the App Store needs to be your target marketplace. iOS users have been known to be more likely to pay for apps before downloading and this doesn’t seem to be changing.
If you need a large user base to facilitate revenue generation through advertising, Android is your best bet. Android users are more likely to download your free app or game as they’re accustomed to downloading a higher volume of apps and games to find what they’re looking for.
3. The User Experience
Both Android and iOS apps offer different sets of user experiences. The main factor affecting this is UI design, which differs on both platforms. Apple and Google both provide unique guidelines for UI design. These guidelines give your app or game a different look and feel depending on the platform you use.
Android and iOS apps have differing visual impacts on their users. iOS apps create a sleek design and make you aware of the fact that you’re using a mobile app. On the other hand, Android apps have a more real-life design. This is the result of Google’s Material Design which aims to create the effect of looking at a piece of paper. Google’s UI elements have edges, seams and shadows to help you achieve this authentic look.
Your choice will depend on how important the visual style of your app is and the style you like. If visual style is crucial to your app’s success, then it pays to be aware of the styles available before development.
The first difference you’ll notice between Android and iOS apps is the basic layout of an app. While Android apps incorporate a drawer system, iOS apps make use of a tab bar that gives access to the top level pages of an app.
For users of both platforms, this navigation becomes second nature after a while, no matter what app they use. If navigation is an important feature of your app, then you need to make sure your app’s appearance is as native as possible on both platforms.
With Felgo, you can achieve native navigation on both iOS and Android apps using a single component and source code. The Navigation component greatly reduces development time for cross-platform developers and gives users the native navigation that they’re used to.
Buttons are one area where Android and iOS apps differ in a big way. While Android devices feature a real back button on each device, iOS devices don’t. You’ll have to consider how to implement back navigation in your app or game. The usual way to overcome the lack of a back button is to include a back chevron in the top navigation bar or to allow back navigation by swiping right.
Fonts, Icons, Dialogs, Native UI Controls and More
Besides these major considerations, you need to note that the UI components of both platforms are almost entirely unique. You’ll notice differences between the fonts, icons, dialogs and even sliders and switch controls.
A simple way to overcome having to choose between platforms is to create your app or game with Felgo. Felgo features a unique platform emulation tool that allows you to see what your app looks like on both platforms (and at multiple resolutions) instantly. This means you’ll be able to judge the user experience of both platforms as you develop.
4. Development Time
Development time is an important factor to consider before beginning development. Spending more time on your app or game also means using more resources and waiting longer to gain a return on your investment.
In general, Android development takes longer than iOS development. One major issue that increases the length of Android development is testing. Once you’ve written your iOS app and deployed it to your testing devices, you’re ready to find bugs. During Android development, you’ll need to test your app across a much wider range of devices with different capabilities. And once you find and fix a problem, you’ll have to begin testing once again on this range of devices.
There is a faster option than native development. Cross-platform tools essentially allow you to develop two apps at the same time. So even if you’re targeting a specific platform, it’s likely that your app works on your secondary platform as well. Felgo was voted the cross-platform development tool with the most time-savings, thanks to the power of QML.
5. Coding Languages
In order to develop iOS apps, you need to run the Xcode IDE. Xcode is only available on OS X so you’ll need a Mac or a MacBook to get started. Once you have Xcode started, you can code your app using Swift, the latest programming language from Apple. Or you can code your app using another language such as Objective C or mix it with C++.
The majority of Android apps are written using the Java programming language. You can download Android Studio to begin coding your app using Java. You also have the option of downloading the Android NDK and writing your app in C and C++.
The Cross-Platform Approach
And the Winner is…
It’s up to you. Of course, a cross-platform approach can remove the need to decide at all. You can try cross-platform development for yourself by downloading Felgo for free. If you have any questions about the differences between these platforms or you feel something is missing from the list, let us know in the comments.
If you found this article useful, you can share it with your friends using the buttons on the left!
More Posts like This