I’m at a point where I need to decide on a future path for adding mobile application front ends to the Elixir backends.
So far I have tested native development with Android studio and Xcode, Cordova/Phonegap and React Native.
I’m actually leaning towards native app development and maintaining 2 code bases. My apps don`t have much logic in them. 99% of logic is server side. They are mainly forms and master detail views.
Just curious about what the general opinion about making native vs hybrid apps are in hope that I`ll get some knowledge I don’t have to further base my decision before I chisel them into stone.
At their best, [native apps] do more than just repackage existing content and functionality; they also present navigation, content, and functionality in a way specifically optimized for the measurably different ways in which people actually use their mobile devices.
It comes down to an intersection between your customer’s needs, and your own. A native application will provide the customer with a better experience that is more tightly integrated into the device. You will have the opportunity to get better performance, particularly if your app is compute bound. To do native development you will have to learn the language and frameworks of each platform.
A mobile-web or hybrid application can be much easier to develop, particularly if you already have skill in HTML5, CSS, and JavaScript. The user experience will never be as tightly integrated as that of a native application and it is much harder (though not impossible) to take advantage of device features like accelerometers or the camera. Mobile web apps offer the promise of cross-platform development with the caveat that something that is designed to run anywhere will look out of place everywhere.
(In the interest of full disclosure I’ve been an iOS native application developer since 2007 but have been involved with native, web, and web-hybrid mobile projects.)
But it really depends of your use case. There are evidences that in e-commerce niche, web apps are bringing more engagement, at least it is what being said by google in this post
But after all, I tend to prefer native development.