Cross-platform development: for or against?

Whether you should choose cross-platform development for your product or give preference to native is a difficult question, since each business has its own goals and expectations from the product that it plans to develop. But today we will definitely figure out which development is right for you.

What are cross-platform applications?
Cross-platform applications are applications that are developed and then run on both Android and iOS. The essence of the development is that the source code of the application is translated into native, that is, understandable to a specific mobile device. As a result, the program can interact with the operating system installed on it.
Pros of cross-platform development
expansion of the user base due to the appearance of the application in several stores simultaneously - this and subsequent advantages are of great importance specifically for business purposes;
one source code eliminates the need to hire multiple developers for each platform;
increasing development speed. For different projects, the indicators for reducing launch time will vary depending on the functionality of the application and how complex it is, but on average, time savings can reach 20%. And this reduces the time-to-market - the time it takes for a product to enter the market.
75% of the code base of a cross-platform application can be reused, adapting it for new projects. The costs of fixing errors and adding new functionality are reduced.

Disadvantages of cross-platform development
1. Imperfect interface in terms of adaptation
Users become so accustomed to the appearance and functionality of their gadgets that they expect maximum responsiveness from the applications installed on them. They want to be sure that every button will be in its rightful place, that the page will scroll at the optimal speed for them, and that any action they take will be followed by an immediate response. Cross-platform applications can sometimes be created without taking into account the characteristics of specific platforms, implementing a single interface.

Of course, you can make a competent adaptation, but then the advantage of saving time and money, positioned as one of the main advantages of cross-platform, goes away. When the design is made adapted for each platform, for various devices, almost the same amount of time is spent on this as when developing the design of a native application.

In addition, there may be a nuance with “slowdown” of graphics and interface, but in the case of the Flutter framework, this problem is leveled out.

2. The fight for supremacy among development tools
In the market for cross-platform development solutions, competition is getting tougher every day. If earlier React Native and Xamarin were the most popular among developers, now Flutter has come to the fore. And for projects already implemented on earlier frameworks, this may mean a possible deterioration in code support - for example, in terms of efficiency.

Native development is not afraid of such a problem. The introduction of new tools occurs gradually, and knowledge of several programming languages, which is mandatory for a specialist, will allow him to quickly understand all the innovations. In addition, there are huge professional communities around each operating system, as a result of which any difficulty that arises is solved by searching for a similar problem on forums, where thousands of people are ready to suggest and help solve it. To be fair, it should be noted that in the field of cross-platform development, the process of actively creating a professional environment is already underway, which in the future will ensure a higher speed of dissemination of innovations. But native development will continue to develop and be supported 100% by operating system providers, since it is still “native”.

3. Cross-platform apps are less flexible than native apps.
The uniformity of this technology is inferior to a stack tailored for a specific platform. And this affects the lower degree of integration of the solution with devices and operating systems, in contrast to natively developed products.
For example, let’s say a developer estimates the implementation of some functionality to take approximately 7 hours. After this, changes occur in the platform, and as a rule, in the case of native technology, the implementation period will not change, but in cross-platform development it can increase up to one and a half times, reaching a conditional 10 hours. Although, again, we note that thanks to the expansion of professional communities, even in such situations it is possible to optimize and find a solution on how to reduce time costs or even meet the initial estimate.

Which application is right for your business?
Before answering this question, it is critical to analyze your business. Consumer segments, the value of time and money resources, the desired depth of integration of the application with user devices, plus clearly defined long-term goals - the minimum on which your choice will depend.

1. What does your audience use?
If you know that the ratio of iOS and Android users among your customers is close to a 50/50 ratio, then a cross-platform application may be suitable here, allowing you to get the product on both platforms at once.
It also happens that the target audience is skewed towards one particular platform, and then you can settle on native development for IOS or Android. But you need to keep in mind that downloads and sales figures may differ in favor of different platforms. Let's explain: as a result of a study by App Annie for the first quarter of 2018, it was found that Android smartphone users downloaded 135% more applications than iOS store visitors. At the same time, the App Store brought its owners 85% more income than Google Play.

The path to success is obvious: play on two fields at once. More precisely, in two stores. But if you are planning a detailed development of interfaces and technical features, taking into account the requirements of operating systems and want to avoid the cross-platform nuances described above, you should choose native development for each store. Just calculate in which of them the application should appear first.

2. How much development time do you have?
The financial costs of the project depend on the answer to this question. Of course, from the point of view of labor resources spent on development (number of hours and specialists, in other words), a cross-platform application seems to be a more profitable solution. But be sure to remember that the nuances of design and functionality can affect the timing of adaptation to platforms, which can take almost as much time as creating two native applications, because developers will have to write additional parts of code for problem areas.

With a native application there will definitely not be such problems, which is very important for retaining an audience that is extremely intolerant of errors and bugs. According to statistics from Compuware, 79% of users are ready to restart an application if it did not work correctly during the first launch, but only 16% agree to give it another chance. Others will most likely simply uninstall the program.

3. What are the features of your project?
We have already talked about how native applications are able to reproduce heavy graphics quickly and without loss of quality. Modern cross-platform solutions also allow you to achieve high performance in the application, however, on weak devices the difference with the native solution can still be noticeable
The technical advantages of native development are not limited to this. As an example, we can take projects that require interaction with external devices or individual parts of the operating system. This could be a service for controlling any equipment - in the modern world with smart home systems - or a product, to use which you need to interact with the built-in sensors of the device. It is often more efficient to implement such solutions natively in terms of the simplicity and reliability of the final solution.

4. What results are you striving for?
A digital strategy is a list of goals that your company can achieve using digital tools. The choice of the latter largely depends on the benefits you want to get in the end.
Break down the process from idea to result point by point, taking into account all available resources. Discoveries can be the most unexpected.

For example, you may find that it's too costly to make your responsive website, which is loaded with features and interactive elements, into a cross-platform app like you originally wanted. Or you will finally be convinced that a mobile site outperforms a mobile application - and you will no longer need to decide whether to develop a cross-platform or a native one, but choose a PWA (Progressive Web Application). This is a technology that allows your customers to install your website as a mobile application.

But if you understand that a website is not enough for your business and with an application you will bring new value to the target audience, but speed to market also plays a role - cross-platform technology will most likely ideally solve your problems.

Conclusion: the choice in favor of cross-platform or native development must be made based on many conditions. Consider the goals and objectives of your business and the required functionality. It would be more reliable and safer to develop highly loaded large systems natively. Simpler projects or those aimed at reducing time-to-market can be safely implemented cross-platform. If previously there were many skeptics regarding the viability of this technology, then time and the market, in which new frameworks have not only been adapted, but have gained popularity, speak only in favor of this approach.
Made on