When starting a Mobile project there are 2 options when choosing the development: Use native languages ​​and tools or use React Native ones. Both have their pros and cons and here we’ll discuss some of them.

A Native Application is developed in a specific platform, the best known being iOS and Android in mobile. For Android, the application is developed in JAVA and for iOS, either Objective-C or Swift.

React Native is an open source open source framework which brings the concept of web development (React) to mobile development (Native). To do this, we use the JavaScript language, and it results in a native application for both Android and iOS.


Native


Advantages


Access to API: All the functionalities and APIs offered by the platform are available through the native development environment.

Third Party Bookstores: The community is very large and there are always resources to choose from for development.

Reliability: The updates are compatible with previous versions and always provide complete guides to manage between these changes. This way we make sure that there is always an interest in maintaining and updating the platform.

Disadvantages

Double Development: You must develop both the Android application and iOS separately. This is the main advantage of the development in React Native.

React Native

Advantages


A single base code: It is a great advantage in time and effort, since knowing a single language you can develop for both platforms easily.

Time-Saving: You save a lot of time developing in React Native, mainly because you only do it once.

Mobile-Web Concept: When using the JavaScript language and the React library, the transition from web to mobile is minimal.

Open Source: Like any open-source library/framework, it gives us the opportunity to inspect the code, which can help us understand and improve it.



“I started as Android Dev, but I can affirm that React Native has a much faster development rhythm, and the fact of being able to export applications for Android and iOS at the same time are the two main advantages”Emanuel Lorenzo (Celerative Developer)

Disadvantages

Beta or Production ready?: React-native has grown a lot over the last few years, although updating the core of this framework is sometimes very expensive since it contains big changes within its internal API, which consequently brings problems with libraries that do not use these versions.

Performance: If you do not have good practices or you don’t know the React library in-depth, damage to the performance of the application could appear. However, React Native is used by many applications on the market. Among them, are Instagram, AirBNB, Facebook, Skype, and others.



Conclusion


When starting a Mobile project, the two paths are known, a reactive application or two native applications (iOS and Android).


At decision-making time, you should take into account variables such as time available, budget, type of application (MVP or final product) and features or animations wanted.  Once these variables have been studied and analyzed, it will be possible to decide which of the two paths to take.