By
Matthias Fehr
/05.03.18

Recently, user behavior has shifted more and more towards mobile devices. This opens up new interesting possibilities for communicating with users. For example, push notifications from websites or apps can be used to repeatedly address users and encourage them to interact from their mobile phone.

As soon as you have decided to implement a mobile app, the fundamental question arises for which devices the app should be available and how hight the investment can be. From a developer's point of view, the question of whether the app should be developed natively or hybrid plays an important role in this regard. Since these terms often cause confusion, I would like to explain what lies behind these methods and what advantages and disadvantages may be. 

Native apps

Native apps are developed in the programming language provided by the platform. iOS apps are written in Objectiv-C or Swift, Android apps in Java. Most apps known from the App Store are native apps.

This method offers some great advantages. On the one hand the app is very performant and all functions of a platform, which it has to offer, can be used. On the other hand, the «look and feel» corresponds to what users are used to from their device. Be it menu navigation, touch gestures or styling.

The basic problem with this solution, however, is that the two apps are not compatible with each other. This means that in order to develop a truly native app for both platforms, the work has to be doubled: The double development effort leads to a longer development time and thus to higher costs. 

Hybrid apps

Most projects already have a website or platform on the internet. An intuitive approach is to optimise this existing website for mobile devices. We call this solution «responsive web apps». The disadvantage: This solution does not feel like a real mobile app, it is not available in the store and you can not send any push notifications. Even sensors (movement, etc.) cannot be controlled in this way to this day.

But lately you can also develop a native app whose only task is to display the website optimally. Thus one has an app in the store and has the possibility to send push messages to the user. We call this a «hybrid app». The aim of this solution is to avoid duplicate work and still be able to offer an app for iOS and Android. The disadvantages compared to completely native apps are the worse performance and the identical look on both platforms.

Other use cases for this are for example: You want to test the reaction to an app idea first before you make a major investment. Or you just want to display simple content where the user experience is not so important (for example, with in-house apps). 

Cross platform native apps

Wouldn't it be interesting to combine the benefits, i.e. develop a native app that doesn't require twice the programming effort to support both platforms?

In recent years, several alternatives have become available to take advantage of cross-platform development without compromising user experience or access to native functionality. We rely on «React Native», where the app is written in Javascript with the same structure as the popular web framework React.

We see React Native as currently the best solution to develop an app for both mobile platforms. Because a large part of the code can be used for both platforms and yet the platform specific UX (User Experience) is taken into account. The performance comes close to that of native apps. React and React Native have been and continue to be actively developed by Facebook and are already used by some well-known names, such as AirBnb or Instagram.

If you would like to make your platform available to mobile users or have further questions, don't hesitate to contact us.