API World

News and case studies on embedded finance, APIs and much more

3 min reading

18 NOVEMBER 2016

Differences between native mobile and cross-platform applications

The development of mobile apps has undergone some major changes in recent times. Not only because of the approach for implementing this type of projects, in most cases characterized by the huge fragmentation of platforms and devices, but also because of the way the features of mobile apps are leading to other scenarios that were unimaginable a few years ago. This is the case, for example, of Progressive Web Apps, a technology that incorporates the benefits of native apps into the traditional world of Web.

In the specific case of the launch of mobile apps, development teams are beginning to incorporate the design of cross-platform applications, assisted on many occasions by third-party solutions and platforms that have gained experience and defined stable products. Cross-platform applications are those with the same design and the same development, but for different platforms at the same time, whether iOS, Android or Windows Phone. The idea is to reduce costs by saving effort. It is no longer necessary to have an iOS developer and another one for Android: having a single professional experienced in cross-platforms is enough to launch an MVP.

This type of tools for developing cross-platform or multi-platform applications address a trend increasingly used by companies called RAD (Rapid Application Development). Some of these solutions are PhoneGap, Titanium Appcelerator, Xamarin or Corona, to give some examples.

  • PhoneGap: It enables cross-platform application development using HTML, CSS and JavaScript. Its most powerful message as a tool for developers is that launching a multi-platform application does not necessarily mean not creating a native application because, among other benefits, they give access to all the APIs for native application development (from features related to the camera to the accelerometer).
  • Titanium Appcelerator: This SDK enables native applications to be launched using JavaScript. The idea is for the source code of this language to later be transformed into the native syntax used in each environment.
  • Xamarin: This platform helps developers launch cross-platform applications using the C# programming language.
  • Corona: This SDK makes it possible for product teams to develop multi-platform applications using Lua as the programming language. Lua is a scripting syntax extensively used for developing games.

Differences between native and cross-platform applications

Today there are differences between native applications and cross-platform applications that lead some companies to choose some solutions and not others. This decision depends, for example, on the features that are to be incorporated into the application and the business goals:

Native applications:

  • When a project requires extensive data processing and, therefore, intensive use of the device’s memory, the most obvious option is for the members of the team to choose a 100% native development. The higher performance of native applications is a significant aspect. A design and development for Android, another one for iOS and another for Windows Phone, if the idea is finally to have an app in this operating system.
  • Scaling: Native applications are supported by companies such as Apple (developer of iOS) and Google (Android). Therefore, each new device or solution launched in the market by the two companies would have the advantage of the approval and all the facilities when scaling the native application to these new scenarios: whether Apple’s new smart watch (Apple Watch 2) or Google’s new smartphone (Pixel). 
  • If the choice is a native application, this will have implications in the design and development, which will take the project to specific usability standards for each platform. The native elements of Android and iOS are completely different and this conditions the entire process.
  • Native applications make the most of all the possibilities afforded by the hardware. Each device has its standard operating system and, obviously, developing native applications not only has advantages on the operating system side, but also on the side of the hardware itself.
  • Native applications usually have greater visibility at app stores and often get better user ratings and recommendations. This is essential for a good ASO positioning.

Cross-platform applications:

  • Compared with the obvious benefits offered by a native application, web project encapsulating solutions or cross-platform applications considerably shorten development and deployment times at app stores. There are therefore fewer costs and the risk of opting for projects that will fail is lower.
  • Moreover, we should not forget that cross-platform applications not only cut costs, but they also maximize the profit, either through exposure to a larger number of users (the company will have an application in most environments) or on the revenue side.  
  • The development team can centralize all the launch effort on a single source code. The fragmentation when implementing an MVP and also in subsequent upgrades does not exist.
  • This also has the advantage of not only avoiding fragmentation, but also when it comes to saving error resolution efforts. When the code produces a bug, one single solution can be used for all the environments.
  • It is not necessary to incorporate new profiles to the team other than those that can already be serving a desktop version: having a team knowledgeable in HTML, CSS and JavaScript would be enough.

Are you interested in financial APIs? Discover all the options offered by BBVA