hybrid or native

Hi There, we are currently in the process of making one of our web-based Mendix applications either hybrid or native. At first we choose hybrid, as there are still people using the application via desktop, where the web-based is used. On the other hand we also have users that want to use functionality not provided by the web-based template, like barcode scanning. This is however provided if you use hybrid. As of a few months back, phonegap is no longer supported by Mendix(/Adobe) and therefor Mendix would rather see you use native. But we are confused. It appears you can no longer use phonegap builds for iOS, as Phonegap no longer makes builds for iOS 13.0. The applestore, does not accept builds made for iOS 13.0 or less.    So hybrid is out of the window ? Or its still usable, but you have to build via Cordova or something? Or is Native the way to go? (we rather have one hybrid build as opposed to a Andriod AND an iOS build) Any help is appreciated, as we want to make the best choice possible going into the next fase of this appliccations lifecycle.
1 answers

Hi Rien, 

Seems you are doing a good job contemplating all the pro's and cons. The most important thing is gathering all the requirements and then making an informed decision. With Mendix you have 3 options:

You can add a ‘Phone browser’ navigation profile.

This will allow you to optimise the UI for a phonebrowser. The advantage of this is that you will have no trouble deploying updates and can use the same modelling and styling techniques as for web. The user can just navigate to the url and set an app icon on his screen himself. This is the most lightweight option, and will give the user the webapp on his phone.

The first disadvantage is that the user needs to be online in order for the app to work. The second disadvantage is that while modern browsers have a lot of capabilities, they cannot access all the native functions of a device.

You can go for the ‘Hybrid’ option.

Your styling and modelling process is still the same as you're used to and you can add extra Cordova plugins, giving you the native functionality you are looking for. You are correct in saying that Apple will not allow PhoneGap builds into their appstore anymore soon, but that is only a problem if you are planning to distribute your app through the Apple appstore. Your building and deploying process will be different because you will have to provide a package for your users that they can install with every new release (appstores can automate this for you). You can even provide some offline capabilities. 


As Wilfried pointed out, it is also possible to build your hybrid app yourself locally, without using phonegap. This means that you can publish in the Applestore, and can use an Apple developer account and won't need an enterprise account or ad_hoc mobile provisioning profile. However this does mean doing it yourself and investing in your Cordova skills.

You can go for a Native app.

This is a bit different than building a webapp since  you have to think about your synchronisation process, and working with nanoflows is a bit different from working with microflows.

The advantage is that you will have acces to all native capabilities, offline, and a native app provides the best user experience.

The drawback is once again that you will have to incorporate the building and publishing process, giving you some extra overhead. You still only need one app to run on both Android and iOS, since React Native will work on both platforms.

It's really up to you to decide which option will be best for your use case, but based on the information you've given, I'd say 1. you need the Apple store, 2. you need a barcode scanner. So that would leave Native as your only option.