Welcome to the Android forum. Given that most apps need to be supported on both iPhone and Android, do you see developers would move away from native apps, and embrace hybrid app technology like react native and ionic?
There are defiantly some things that you would want as a stand alone app like games for instance.
Or maybe the CEO wants an app and not a website for their own device. For some CEOs you could fake it with a hybrid but for some others you could not.
Xamarin (free) and Unity (not free?) bundled together could be a great combination for a multi targeted deployment of an game.
“The strongest of all warriors are these two — Time and Patience.” ― Leo Tolstoy, War and Peace
Salil Wadnerkar wrote:Welcome to the Android forum. Given that most apps need to be supported on both iPhone and Android, do you see developers would move away from native apps, and embrace hybrid app technology like react native and ionic?
That's a great question. React Native is an interesting technology because unlike older platforms that converted HTML apps into standalone apps for Android and iOS, React Native stitches together native apps using real native components. This gives the app a much closer feel to the kind of native apps that you can build with platform-specific languages like Java, Kotlin or Swift. The important thing about something like React Native is not that it allows you to deploy the same code across platforms, but that you can apply the knowledge you acquired from writing an app for one platform and apply it to another. I believe the folks at react Native call this "Learn once; write anywhere". This seems an eminently sensible way to write apps: write a really good, native-feeling app for one platform (say, Android), and then use the knowledge you acquire to write a really good app for the other platform (iOS).
However, if you want to make the most out of the platform, you will still need to have an understanding of its fundamental abilities, and how to extend it, and also you will need to understand what a user will expect from your app. Users will not be comparing your app on Android with your app on iOS. They will be comparing your app on Android with their other Android apps.
So, it's important that you optimise your apps for *users*, rather than optimise it for your own developmental efficiency.
Also, to really get the most out of the Android (and iOS) platform, you really can't beat writing an app in the fundamental technology, like Java, Kotlin or Swift. This will first of all give you access to the wealth of advice and wisdom from the many other people who are also coding in the same language and the same way, plus you will be able to use the very latest and the very UI elements. For an example of this, check out the "Plaid" app on the Google Play Store. This is a beautiful application written by a Google developer which shows what can be done with a native app. It doesn't functionally do much more than you could do with a web application. But it's a significantly more pleasurable experience to use than a HTML5 (say) app. And that's probably what distinguishes the apps that you want to use every day, from those you use when you have to.
This is at least our opinion, and we may be wrong :-)
Head First Android Development