Creating apps for Android and for iOS may seem very similar to the untrained eye, but the truth is that each of these two operating systems has its own peculiarities. There are many differences when it comes to Android and iOS − both in the technical foundations of app development and in the process of creating an application itself.
And not only at the technical level but also in terms of design and mobile strategy. In other words, the whole concept of an app will be depending on the chosen operating system. Developers who are switching from one operating system to another, with a completely different programming language, will notice the dissimilarities.
Differences in development
Let’s take a look at some differences that are usually noticed by developers during the process of creating mobile apps for Android and iOS.
The Android and iOS operating system are each programmed in different programming languages. This is exactly the biggest difference: iOS apps run on Objective-C / Swift, while Android apps run on Java.
Testing the app
An app’s testing stage is an essential part of the mobile app development process. The same applies to games and other kinds of software. One must ensure that the app he is developing, works perfectly. The iOS simulator and the Android emulator are examples which are often used to test this.
A tangible difference is that the iOS simulator is much faster than its Android counterpart. However, the Android emulator has the comparative advantage of being an effective virtual machine including CPU, which makes it more realistic than its iOS equivalent. In fact, the iOS simulator often fails to render accurate and realistic representations of Apple devices.
For this reason, it is significant to carry out several tests on real mobile devices to see the app’s interaction flow and detect possible bugs.
This is the point where we come across the visual differences between creating an app for an Android or iOS end user. At technical level, the developer will build XML files onto Android interfaces. These are very similar to iOS’ XIB files.
The quality of iOS animations is better than the one from Android. Google has tried to fix this through the preview of Android L and by establishing an app design trend known as Material Design. In the meantime, Apple has always been focusing on soft, complex and powerful animations by looking after its aesthetics and user experience carefully. Google on the other hand, decided to rather focus on the hardware instead of these aspects.
Another prominent difference between Android and iOS, is the ‘Back’ button included in Android which doesn’t exist in iOS. Every app development process must be carried out taking this into account.
The back button is also used for navigation in Android. The lack of this button in iOS means that the app developer should indicate on the screen how to go back or if there is another way to complete this action using another interaction flow.
Other differences in development
- Delegate vs. Adapter: iOS uses a delegate when using delegation patterns. In Android such patterns are represented with an adapter. Although they are meant for different platforms and expressed through words, these are very similar concepts.
- UIViewController vs Activity: we’ll be using the Activity class when programming in Android to represent certain screen display on a mobile device running on Android. In iOS, this job will be taken on by a controller called UIViewController. It’s also used for managing the lifecycles of events, subviews, etc. So, they perform the same role, even if they are not exactly the same.
- Unlock: Android devices are unlocked by sliding your finger up and iOS devices are unlocked by sliding your finger to the right.
- Preferences and access permissions: these are better organised in iOS devices, where they can all be found in a specific category in the device’s general preferences section. They are more scattered in Android and one must search through the device a little more to find the settings.
- Maps: we can use either Apple’s maps or Google Maps when creating apps for iOS. However, we’ll usually use Google Maps when creating apps for Android. In addition, the use of geofencing and beacons are becoming even more popular in combination with this.
Other differences when creating apps
When it comes to creating apps, differences among operating systems are not only detected on technical level. Design and marketing are clearly affected by them at a very basic level. Let’s see how to deal with these differences.
Cost of creating mobile apps
We’ve already discussed the differences in cost between creating apps for Android or for iOS in previous articles. In fact, the iOS development process is slightly more expensive because of the fact that the demand for iOS apps are lower than for Android apps. In addition to this, the requirements for launching an application in iOS are much higher.
As mentioned before, an app’s design is closely related to its development process. This is why an app’s design is also visually different depending on whether it has been developed for Android or for iOS. Each of these OS has its own interaction and style, which is strongly influenced by the two big companies that respectively created them. It’s therefore advisable to have expert app designers in one or both operating systems to advise us in our project. Only then can we create genuinely fine native apps.
App Store Optimization
As previously discussed in “Good & bad practices in ASO”, App Store Optimization is not the same for an Android app than for an iOS app. We will have to take this fact into account when optimising the app to position it well within the stores. We’ll have to pay special attention to the differences in title and description; all the other variables are more or less the same for both cases.
Monetisation and return on investment
The return on investment is generally not the same for an Android app as for an iOS app. Focusing on the revenue source (the way of monetising the app itself), we can notice that iOS apps are more likely to charge users for downloading them and for in-app purchases. Android applications are usually free to download and get monetised through ads embedded in them.
Current Presence Android and iOS in the world’s smartphone market
It might be interesting to know the current market situation of smartphones before deciding for which operating system you want your new application to be developed. The number of both dominating operating systems speak volumes in terms of penetrating the market of smartphones. It’s obvious, that currently Android and Apple are the two exclusive and important providers of operating systems for smartphones. With an accumulated market share of about 99% of Android and iOS, they seem to be unstoppable, while Android can count a market share that is four to five times higher than the Apple’s share in the market. In Germany for example, the market share of Android goes up to 81,5%, compared to 17% of Apple. A similar picture appears in the Spanish and French markets. In contrast, Apple obtained a better result with about 35% of the market share the USA and Great Britain, while Android ‘only’ achieved 63,2%. The almost forgotten smartphone manufacturers Windows Phone and Blackberry are not longer relevant as a provider. To present you a deeper insight which smartphone manufacturers are currently penetrating the market, we found a statistic by the International Data Corporation (IDC):
Samsung and Apple should be aware of the upcoming and already well established competitors like Huawei, OPPO and Xiaomi. With a market share of 20%, Samsung is a crucial provider for the dissemination of Android’s operating system. The three persecuting competitors of Samsung and Apple are steadily increasing their market shares. Let’s see how they will assert and compete.
Google Play Store vs. Apple App Store
At the same time the number of applications is increasing continuously and growing faster and faster. Now, there are 2.7M apps available in the Google Play Store and 2.2M apps in the Apple App Store. Both platforms have been launched in 2008. Only 5 years later, we could count 1M applications. The forecasts seem to be promising.
In contrast to the Google Play Store, the greatest difference between both stores is that all applications are going to be checked from Apple without exceptions. The application has to meet specific requirements and guidelines for apps by Apple. Therefore the apps must not include inappropriate or abusive content. Due to this procedure, developers should take this into consideration, while developing an app for iOS. The process of verifying the application last approximately 3-4 weeks.
Android on the other hand does not have such strict verification procedures. Unfortunately, fake apps regularly appear in the Google Play Store and scammers try to profit on big trends by creating fake apps for those popular apps. That’s why Google has not paid attention and a few days ago scammers have brought a fake version of WhatsApp into the official App Store, which is a promotional spam app. It should tempt the users to install more applications. If you’re looking for apps in the Play Store and you feel the slightest doubt about the legitimacy of an app we recommend you read the reviews. In many cases, fake apps become visible due to bad ratings of the fraudulent apps.