Image for post
Image for post
Photo by Yura Fresh on Unsplash

Many developers were skeptical of the “new kid” when React was announced in 2011. However, it has proven to be an extremely successful library, with more and more companies, such as Airbnb, Uber, Netflix and Twitter, adopting it for their own products. It became so popular, in fact, that the framework was extended to the mobile universe with React Native.

So What Is React Native?

Like React itself, React Native is Javascript-based…but its power lies in the fact that you can build natively rendered mobile applications for various platforms using the same codebase. In other words, you write code once and it can be used to develop both iOS and Android apps. This saves an enormous amount of time and allows front-end developers to create apps that are ready for production on mobile platforms without the need to rely solely on web-based technologies.

Like React, React Native uses a combination of Javascript and JSX; however, while React can render HTML components like <p>, <div>, etc., React Native uses native mobile user interface elements like <View> , <Text>, <Image>, <ScrollView>. Indeed, what makes React Native so powerful is that it runs on native views and components rather than WebViews.

The fact that React Native has the ability to reuse code allows it to create apps that can run on multiple platforms; it also includes pre-developed components, which speeds up development time and improves cost efficiency. Its reactive UI and component-based approach leads to very enjoyable user experiences; apps can have both simple and complex designs.

React Native does have some drawbacks, however. Some custom modules need improvement or are outright absent. This could mean the need to actually run multiple separate codebases depending on the platforms on which you want your app to run. Another drawback is that there are still some package compatibility issues and potential problems with debugging tools. Scalability can also be an issue when it comes to React Native, and some companies prefer using separate native apps. Finally, React Native is essentially a bridge between Javascript and native mobile code; this means that you will need knowledge of both iOS and Android elements in order to properly use React Native to its fullest potential.

Ultimately, despite these few flaws, React Native is a popular framework and one which many developers (and companies) find highly successful in meeting their needs when developing mobile apps.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store