Correctly chosen platform can be either a great success or a complete failure for your application. That is why all the aspects should be carefully studied before choosing a platform.
The most important and determining factor is your target audience. Therefore you must define which OS is used by your clients. Users’ geolocation and financial opportunities are very helpful in this case.
World statistics shows the share of leading OS from the standpoint of sales to end users as of 2016. Main operation systems: Android (Google), IOS (Apple), Windows Phone (Microsoft) and Other (RIM, Bada and Symbian).
Before making a conclusion let’s consider user’s preferences up to 2020:
What we see: according to stastictica.com Android will hold its leadership in sales, occupying almost 80,2% of it, while iOS will make only 14%. Despite insignificant number of Windows Phone users 2-3%, it is popular in developing countries, such as India, thanks to Microsoft’s price strategy and their emphasis on affordable smartphones. Blackberry will only make 0,3% of all users.
There is no need to hurry choosing Android, let’s make further research.
Methods of application monetization. If your application is supposed to have built-in paid purchases and subscriptions, iOS users tend to make purchases in Apple Store, namely 74% of users make in-app-purchase.
Android users prefer free applications (besides, the percentage of pirated software in Google Play is much higher than in App Store), but here you can benefit from internal advertizing due to large number of users. This users’ division comes from their solvency, as even the cheapest variant of iOS smartphone is several times more expensive than Android ones, which means that iOS users can certainly afford paid applications.
Many articles say that it is necessary to pay attention to those technical features which you are going to use in your application and to make a start from this. And how exactly to make a start? What is the connection between OS and functionality? It is unclear. And it is unclear precisely because global differences between them just do not exist! Any of your wishes can be carried out in any OS.
Let’s sort out the existing platforms for applications’ realization. There are two types of mobile applications: native and hybrid decisions, cross-platform can also be both native and hybrid. Let’s have a closer look.
- apps are quick and reliable;
- they are developed for a certain platform and use all device’s functions, such as camera, GPS, users’ address book, push-notifications sending, etc.
- access to native SDK’s full range and flexibility;
- can work offline;
- make thrifty use of phone’s resources (battery, memory);
- developing native applications you get original UI for each platform.
- relatively high development cost, especially in case of covering several platforms;
- significantly longer development process;
- even slight changes require making updates;
Example of Instagram:
- installation from application store;
- Internet access is required for work;
- uses smartphone’s software: camera, geolocation, address book; Push-notifications can be turned on.
Hybrid applications combine some functions of native- and web-applications: cross-platform and ability to use phone’s software.
- hybrid mobile applications are easier to develop, as the whole code is written for all platforms at once;
- lower development cost, and correspondingly cheaper and easier support - you change something in one place and it is changed everywhere;
- less time required for development;
- can be easily imported to any devices.
- user interface will not be as polished as one of a native application, which results in bad user experience.
For example, “Back” button and different transitions’ animation on iOS and Android screens. Hybrid applications are incapable of reproducing these features.
- limited access to device’s functions: photos, geolocation, gyroscope and others, it is not an easy task to make them available.
Of course, untested plugins may be suggested for you to use, and even if they do work - then incorrectly and unable to reproduce desirable features :)
- work much slower than their analogues in native realization;
- always require Internet access as web-part is updated via Internet.
Example of HeartCamera for iOS:
- installed from store;
- Internet access is required for sharing your work;
- push-notifications can be tuned up.
- budget’s economy due to using only one technology and graphics set;
- development time saving due to the absence of in interface unique features;
- product’s support and update are carried out for all platforms simultaneously;
- cross-platform solutions allow to generate site’s mobile version from application;
- uniform application logic for all platforms. Written and debugged logic contains potentially smaller number of mistakes and discrepancy in their work.
- slow application work;
- platform’s unique features are not used;
- unusual interface for user.
Example of Adobe PhoneGap:
The application works as a web-page inside WebView, everything is based on HTML, CSS and JS.
- free and open product;
- can be compiled for any mobile platform;
- has access to camera, accelerometer, file system.
It can be implemented into native application and get native interface with a plugin written for these purposes, but the spent efforts will not be justified from the commercial point of view. An application written with the help of PhoneGap will look the same on all the platforms, which is more a minus than a plus.
One more important moment is that applications selling paid subscription within the applications added to AppStore or GooglePlay must share assignments with the shops. Therefore, pricing and budgets of these applications have to be corrected taking into account the sums of these assignments.
It is quite easy to make a choice, it just depend on the aims you are going to reach and the functionality to empower your mobile application. If the work of your application requires the devices which maintain a large amount of functionality or information processing rate is very important (games, social networks, geolocation services, photos exchange services, etc.) you need to make a native application. If the work speed is not that important, and user needs to get only information with the mobile Internet, you can absolutely come up with hybrid application. Hybrid applications should also be used as prototypes to estimate users’ reaction on your idea and get a certain feedback. This hybrid characteristic is similar to cross-platform applications. If your interface is not provided for complicated animation and does not perform calculations, you need to quickly enter the market to test your idea, if you are ready to put up with interface problems and so on, - cross-platform application will do.
After 5 years of work in mobile development sphere we prefer and advice to use native applications for production-version. It takes longer, it is more expensive, but it is much more reliable.
Our article has an informative character, to specify details and choose the best platform for your mobile application Contact us and it will be our pleasure to help you and answer all possible questions.
To begin with, we suggest to have a look at some of our works :)