Going native or getting cross?

Going native with a group of people viewing phones and tablets

If websites made products and services more accessible than ever before, the advent of the mobile app has gone so much further – it has reshaped the way a company engages with the world at large. Mobile applications do more than make things easier and more convenient for users – they change the dynamic between a business, its customers and its employees.

The mobile app allows internal and external users to take ownership of the relevant aspects of an organization or company’s information and services, allowing them to shape it to their own needs and requirements, anytime, anywhere. It puts control, literally, in the hands of the people. Banking apps, vacation apps, health apps, you name it, the growth and indispensability of mobile enterprise apps has been nothing short of phenomenal.

Correspondingly, the development of mobile apps has undergone significant change, not least because of the wide diversity of operating platforms and devices, and the unlimited ways an application can now provide answers to a multitude of previously unimagined needs.

The pros and cons

For any company or organization, taking the optimum route to market for a mobile enterprise application broadly means choosing between a native-platform solution – and having your app coded individually in the language of each of its operating systems, or choosing a cross-platform solution, coded in a single language that is compatible across multiple operating systems.

As you would expect, there are benefits and advantages to each route, along with specific drawbacks too. Choosing the best option can depend upon cost and time but, taking Emergn’s customer-centric approach, the first thing to consider is the suitability and serviceability of the app for the needs of customers or employees. Let’s take a brief look at those pros and cons.

Creating a native application means coding your application to work off each platform individually, for example, Swift for iPhone or Java/Kotlin for Android – literally doubling your efforts. The two competing platforms have different requirements so developing them both is labor intensive, expensive and slower. However, on the plus side, native applications have the advantage of being reliable and rich in functionality.

Putting users’ needs first

In-house teams, or agency/outsourced development teams, tasked with creating apps for all types of client are increasingly focusing on the design of cross-platform applications, assisted on many occasions by third-party solutions and platforms that have gained experience and defined stable products. A cross-platform app effectively uses a single language and design for different platforms at the same time, whether it is iOS, Android or Windows Phone. In this case, it is no longer necessary to have an iOS developer and another one for Android – it can be done by having a single developer, experienced in cross-platforms. Effectively, such a solution reduces the doubling up of costs, time and labor by adopting a ‘one size fits all’ approach, to oversimplify. The advantages are that cross-platform development (possibly enhanced by native add-ons) yields less code and less testing, resulting in faster time to market. The cross-platform app will have access to all the functionalities of the specific environments, i.e. Android or iOS, but it may be harder to support more detailed Android specific or iOS specific functionalities. In other words, the cross-platform app may have a loss of performance on specific functions when compared directly to a native application, but, once again, it depends on the role you want it to fulfill for your organization. One way of looking at it may be that native apps offer the best of capabilities, whereas cross-platform offers the best of reach. Emergn’s cross-platform of choice is Flutter but there are others such as Reactive Native or Ionic.

All said, the differences in between native or cross-platform apps need not lead to conflict or uncertainty, as we have seen, there are clear advantages to each route. Where the app requires extensive data processing and, therefore, memory, a 100% native development offers higher performance, as such applications make the most of all the possibilities afforded by the hardware. Cross-platform applications considerably shorten development and deployment times, there are fewer costs and they will more likely be available to a larger number of users.

The decision to adopt one or the other requires an outcome-focused examination of the needs of the customer/employee users, the features that are to be incorporated into the application and, of course, the business strategy and goals.