Every time you want to create an application, you have to ask yourself what kind of OS APIs it needs to utilise and how to do that.
Defining a problem-solution fit from the very beginning helps in delivering a top-notch product. Having known what needs to be done, you can decide which tech stack meets your requirements and what are the limitations of chosen technology. Even in programming, there is no rose without a thorn, so you need to be aware what will bud and what can prick.
React Native framework was presented to developers as the next step towards creating mobile applications. Before choosing it for your project, you can check whether your app matches one of the types below. If so, the idea of using React Native is worth considering.
If you have to build a simple app that needs to be verified by a group of test users quickly, RN might be a good choice. In the process of rapid prototyping, it is important to create a prototype that represents a working version of the app quickly. Although it is hard to achieve total fidelity to the mocks at this stage, it is worth trying to validate your business idea this way.
Apps with Simplified User Interfaces
In case you have to implement User Interfaces that consist of a small number of views and interactions, consider using this framework. It might be harder to implement sophisticated animations with RN, so please keep it in mind during the design stage.
Cross-platform Applications with Basic Functionalities
RN allows validating your business ideas quickly - you can have both Android and iOS prototypes developed concurrently without additional costs. As long as your app is a quasi-static one or a simple external API consumer, consider using RN.
Applications that Do Not Rely on Using Native APIs Heavily
You can always use React Native by writing bridges, but - believe me - it is not something you want to do. Doing so requires additional Java/Objective-C/Swift knowledge and complicates the scope of the app. Instead of having one developer, you end up with three. Furthermore, passes over the bridge affect your performance, so - to keep your application performant - these calls have to be reduced to a minimum.
React Native is being actively developed, and so, something that seems to be difficult for the time being might become easier in the future. This framework surely resolves many mobile development-related issues, but just as every powerful tool, it has to be used wisely. If you are still unsure if React Native should be used in your project, contact us.