Hacker News new | ask | show | jobs
by terhechte 1747 days ago
Like many things in life I think it depends. React Native promises a 2x improvement because instead of developing 2 apps you develop one. However, there's obviously additional overhead. Some parts still need to be implemented natively or via plugins, some parts need to look different dependent on the native OS, some new tech might not be incorporated yet so you need to work around these issues. Also, I've heard that the build system is kind of brittle (e.g. projects suddenly failing to compile). So in reality you're not gaining 2x but maybe something like 1.5x. Another upside of React Native is that you can hire Javascript developers instead of native ones (who are harder to find, I think). However they will still need to know about the underlying platform from time to time. I also found that it makes quite a difference in quality whether the developers actually use the underlying OS (iOS / Android) because they will complain if a PO or UX comes up with a solution that goes against the Platforms HIG.

Given these issues, the real benefit of React Native is bound to the size and scope of the app. I've worked on a social network app with 500+ screens and here, I think, React Native would be the better solution. A 1.5x win is still huge if you implement 500 screens twice. On the other hand, if we're talking ~25 screens and the moat of the app lies in complex backend tech, I think you'd fare better going native (SwiftUI / Jetpack Compose).