We have mentioned the challenges for making native apps is the extra time and skill set required for more platforms. We also came across the pain point for developing html5 hybrid app is the poor performance and limited functionality compared to native app. Here comes a third choice.
There are new languages, such as Nativescript, React Native and Xamarin, which can use a single code set to generate apps of different platforms. They use their own languages, not Java, not Objective C nor Swift, but they can build native Android and iOS apps.
We have also used React Native and Nativescript on some mobile projects. We found them easy to develop and the performance of app is good as native. And the best thing is being able to launch Android and iOS app at the same time!