| I disagree with this perspective. From a startup pov, going with native apps will require multiple teams (Usually just Android + iOS, but occasionally Windows as well) React Native will only require one team, or just one engineer depending on the size of the project Better yet, If your front end developer is fluent in React(web), then that developer is already fluent in React Native. I completely disagree on the "awful lot of work", when you could literally get your FE developer to work on your "native" apps. Sure, where performance must be squeezed, it's probably optimal to go native, but that bar is set a lot lower than where it actually should be. If React Native is good enough for Discord, it's good for 3 quarters of all apps out there. |
- Web devs typically don’t have strong instincts for mobile apps, they require more mentorship & onboarding time.
- Animation and interactivity is strongly limited in RN - You’re always so many levels removed from the actual APIs being used. For example, using UIKit and CoreAnimation are absolutely amazing and super lightweight on CPU/GPU in comparison. UICollectionView is a modern miracle that offers so much more control than FlatList.
- JS/Babel/node_modules is hell, no I won’t elaborate.
- Multi-threading, priority/concurrent queues etc for maintaining good all-around perf while doing intense operations is very strong with native platforms. RN just has sophisticated band-aids.
Honestly it mostly depends on the type of work the app will be doing, the dev resources available to you, and the level of quality you want to attain. I strive to create the best of the best user experience, and native is the best way to attain that.
The app I work on still uses RN for some features, but the results historically have been disappointing on average.
Happy coding!