Smartphone Applications: Native or Multiplatform?

Share on facebook
Share on linkedin
Share on whatsapp

“We need an application compatible with Android and iOS.” 

This is a very common initial requirement to hear in a first conversation with potential clients. Except in rare cases where the application should run on specific mobile devices, covering both platforms is required so the product does not exclude a huge part of the users. Usually, this requirement comes with an important customer question: can you reduce the costs of developing applications using a cross-platform tool and “generate” versions for any device? 

First of all, there is no “silver bullet” 

An easy answer to the question, without considering in detail the client’s design and business requirements, should be received with suspicion. There will be a choice between developing two “native” projects with little or no shared code, using a multiplatform framework such as React Native or starting with a web alternative such as Progressive Web Apps (PWA). Each of these options may impose on the customer technical, financial, or distribution constraints that must be emphasized by the partner or development team. 

Requirements: The devil lives in the details 

Simple requirements such as “my app needs to show notifications from push messages” or “my app needs to be distributed by App Store” could already delete PWA as a design option because iOS does not show push notifications of PWAs and Apple does not allow this type of application to be distributed by the App store. On the other hand, the ease of distributing PWAs over the web without the need to post them on Google Play or the App Store can be seen as an advantage depending on the project goals. Other common requirements such as “my application needs to be integrated with Amazon Web Services (AWS)” may make Flutter, a multiplatform Google framework that has been gaining much prominence lately, expensive or impractical for the lack of an SDK for integration with the service. Although it is possible to circumvent this type of limitation by writing native code for each of the platforms, the additional cost decreases the competitiveness and the very advantage of developing hybrid applications. Therefore, a careful analysis of which platforms or alternatives can meet all the technical and distribution requirements of the customer is crucial before putting all the options on the table. 

Investment and Talent 

The technically secure way to develop two native applications (Android and iOS) may not be a viable alternative to smaller or simpler projects that have a lower investment value. Besides being necessary to run to parallel projects with different resources in practice, you should not forget the duplicate maintenance costs. In addition to double-bug fixes, both Google and Apple often pressure developers to upgrade their applications because of new layout and security guidelines, for example. On the other hand, even using a robust framework like React Native, it is often necessary that developers also have some knowledge on Android and iOS to develop or use components not provided by the platform. One of the issues that led Airbnb to abandon React Native was the difficulty in finding developers with React / Javascript, Android and iOS experience at the same time. It is very common for established companies to have a team experienced in web technology development available. An intelligent solution in such cases could be to choose an alternative that would take advantage of these talents such as developing a PWA or choosing a framework that generates hybrid web applications like Ionic. However, the technical and distribution restrictions as well as the lower performance and usability of these solutions need to be considered. 

The options 

We could write an article for each of the development options, but the infographic above is an attempt to summarize some of the major pros and cons of each of them. From left to right, development investment tends to decline, as does the learning curve for Web developers. 

However, in this direction, performance and the user experience are reduced, while the limitations imposed on project requirements are increased, especially when access to hardware functionality is required. It can be said that the right-most options in the infographic tend to be more cost-effective when the project is simpler, less hardware dependent, and more focused on illustrating data provided by a service or social networks. Still, such standards are often not enough for an informed decision making, and a careful analysis of a project’s specific requirements against the capabilities of each option is essential. In the infographic, as in this article, we mention only some of the main hybrid platforms available for each option. To choose them, we take into consideration the maturity, the support of the development community and the solidity of the companies behind them. 

Making the decision 

All things considered, when selecting an external partner it is important to have a time and cost estimate of the most conservative option – two native projects (Android and iOS) – to serve as a benchmark. Any option that results in an estimate close to the two native projects becomes less interesting, since these offer less project risk and higher quality. The ideal external partner should also present one or two alternatives to native development and, in case of rejection, provide an objective justification such as “we can not develop a PWA because your application needs to use Geofencing“. This type of detail is important because it allows some requirements to be cut if they are not essential, reopening the range of lower cost options. When you choose to develop internally with existing teams or hiring new developers, the programming languages and platforms on which these professionals have experience usually take a very heavy weight on their answers if they are asked about the best options. It is important to make sure that a team that is more Web-centric does not overestimate the capabilities of a specific framework and really ensures that all technical and distribution requirements can be met by the platform or tool they choose. On the other hand, developers for Android and iOS native platforms often discard hybrid or web options, citing impediments such as performance or disabilities that can actually be bypassed or tolerated. In some cases, a little proof of concept can be developed to “test” the capability of a technology and measure the learning difficulty it imposes on the team. A good choice among the different options available should be compatible with the resources available for investment and the expected return, but it should also ensure that the customer can focus on their business requirements without being held back from limitations imposed by the platform they have chosen. 

 

Veja mais
Means of Payment
Evens Taian

PIX is running

Have you ever imagined making and receiving money transfers, payments and any similar inter-banking transactions instantly and at any time? Soon, this will be a
Leia mais »
Campinas / SP - Brasil

Estrada Giuseppina Vianelli di Napolli, nº 1.185
Condomínio GlobalTech Campinas
Polo II de Alta Tecnologia
CEP 13086-530 – Campinas – SP
+55 (19) 3755-8600

+55 (19) 3755-8600
contato@venturus.org.br

Bitnami