Category: 2. Disadvantages

https://cdn-icons-png.flaticon.com/512/10103/10103185.png

  • React Native forces extra consideration

    App developers using React Native have to pay more attention to the performance and write comprehensive code from the get-go. They should avoid unnecessary rerenders, as these can significantly slow down more complex parts of the app. In comparison, writing codes in e.g. Swift development gives devs more breathing space for fixing errors.

  • Native developers might still be needed

    The necessity of introducing dev with native programming skills depends on the complexity of the project. In some cases, RN dev should be able to write a native code if the need arises. Nonetheless, some native features (e.g. Dynamic Island) might still require a developer with detailed knowledge of a particular platform. Although React Native offers more and more open-source libraries that provide easy access to the native platform features, sometimes it might not be enough.

  • Lack of custom modules

    As of now, React Native still lacks some components and others can be still underdeveloped. Thus, you might have to build your solution from scratch or try to hack an existing one. Then, instead of only one codebase, you could end up with three: one for RN and native codebase for Android and iOS. This may result in differences in the behavior and appearance of an app on various platforms. Fortunately, those situations don’t come about often and chances of encountering such problems are pretty low.

  • Upgrading issues

    Each React Native upgrade brings further improvements, so using an updated version is recommended. However, you can’t always entirely rely on the automatic update implementation: you might face some unexpected issues when adapting to the new version. Fortunately, there are upgrade helpers and community guides that can support you during the transition between your current and any higher RN version.

  • Compatibility and debugging issues

    What might be surprising is that even though top tech players, such as Microsoft or Meta, have used React Native for years, it’s still in beta. While the framework is constantly updated, it hasn’t reached the 1.0 version yet. As a result, developers might come across various issues with package compatibility or debugging tools. Besides, due to the large amount of community packages, there is a risk that some packages you might be interested in are no longer maintained or compatible with your project.