You CAN make highly performant software, even games, with React Native. You just need to take the time to truly understand the platform, and you will reap massive benefits.
You CAN make highly performant software, even games, with React Native. You just need to take the time to truly understand the platform, and you will reap massive benefits.
Here's a very unscientific test (showing GPU usage) I did on the Note 8 switching between menus really quickly. It's barely noticeable (if at all) for me, but it certainly shows on older phones.
Canvas for Android (Native): https://i.imgur.com/5mWueG7.png Falcross Menu: https://i.imgur.com/DpKVNDK.jpg
(It's also important to note that this isn't noticeable at all on iOS. The app is buttery smooth with a consistent framerate on iOS.)
Other than that, a few nitpicks: The "recently played" icon at the top is clipped for me, the energy/star/circle icons at the top flicker when you switch views, etc.
Things like that basically don't happen if you use "real" native development (or Flutter) with "real" native components.
The flickering when viewing lightbox/modal views is actually due to my navigation library, react-native-navigation, which is otherwise excellent. I believe they're fixing that in their v2 release, at which point those transitions should be indistinguishable from native.
I've also made a ton of progress on Android performance in the past month, including the mindblowing realization that I had set hardwareAccelerated=false in my app's manifest over a year ago. The game should now be very smooth in all views, even on very low-end Android devices :)
If the react native app is sufficient for it's intended audience, then learning dart/flutter, or 2 native platforms is academic at best, as it's unlikely to sway revenues.
Maybe certain use cases can never be handled in react native, but for most, it's sufficient to not impact revenues.
At the end of the day, the user doesn't care about your programming stack, only results, and react native has been deployed at scale by large corps to demonstrate viability for most, if not all cases
Eventually I'd like to make an example app in ~3 of the alternatives (native, nativescript, flutter) and use appium to do comparisons and various timing.