Here at Making Sense, we are hyper-aware of the importance that React Native has acquired during the last few years. That is why we are constantly training our team with the latest updates, in order to provide high-quality code that’s inherent when using React Native.
But let’s dive a little bit deeper into this tech and see why we care so much about it!

What is React Native?

React is an open-source JavaScript library used to create user interfaces. It was created by Facebook with the main goal of solving some of the challenges that Facebook engineers were facing. These challenges included building complex and interactive UIs in web applications. React was released in 2013 and since has become one of the most popular Javascript libraries for creating applications.

Two years after the creation of React, React Native came out. The idea was to bring web development concepts to the world of mobile development.

React Native is a JavaScript framework for writing real, natively-rendering mobile applications for iOS and Android. React Native applications are written using a mixture of JavaScript and JSX. Then, under the hood, the React Native “bridge” invokes the native rendering APIs in Objective-C (for iOS) or Java (for Android).

React Native is changing the mobile development world by helping developers reuse code across the web and on mobile. The best part is that your team won’t have to build the same app for iOS and for Android from scratch. With React Native, they can reuse the code across each operating system.

The Advantages of React Native

1. Community
React Native has a great network of developers that can help you to solve common problems. You can also find a lot of tutorials, courses and documentation. There are currently 44,132 repositories if you search for ‘React Native’ on GitHub and 50,009 questions tagged with ‘React Native’ on StackOverflow. Also, since React Native is an open source project, you have free access to all related documentation and it’s open to anyone who’s ready to contribute.

2. One Framework, Multiple Platforms
The main advantage of React Native is that it offers you the ability to develop cross-platform applications. All the code is written in Javascript. This means that developers no longer have to learn Swift/Objective-C and Java as well as different concepts for each mobile platform. This translates into saving a lot of development time as well as reducing costs.

3. Live Reload
The “live reload” is one of the most interesting features of React Native. In a nutshell, it enables you to keep the app running and immediately see the result of the latest change that you have made to the code.

4. Similar Architecture to React
For a frontend developer who knows React, it is very simple to go into a React Native project and understand the code. The architecture and the way that the project is structured are almost the same as web applications.

The Cons of React Native

1. It’s Still Young
React Native is still a young framework. You will find that there are monthly releases which force you to check the compatibilities and performance of your modules.

2. Native Developers Still Needed
Even though most of the native features can be used with custom React Native modules, some things, such as push-notifications or access to device sensors and the camera, require help from iOS or Android developers.

3. Facebook Rules
When installing React Native, each user is required to accept the Facebook license rules. Facebook has a right to revoke the licence (BSD) to use React and React Native if you get into a patent-related dispute with them.

Ready to start?

There is no doubt that React Native brings us a whole new way of creating mobile applications. As a frontend developer, it’s amazing to use your frontend skills to build web and mobile applications at the same time and— here’s the best part — with the same technologies. You can create components with React, you can manage the states with Redux or any other method you used, and you can even work with external API’s by making requests with Fetch API.

Finally, the “live reload” and the possibility to debug the code in the browser will make you feel “at home”, since there is no difference between this and the way you were formerly working in your web projects.

As you can see, we’re big fans of React Native here at Making Sense. We hope we’ve shed some light on this technology, so that you too can begin to explore the pros and cons and in turn, expand your horizons in the development world. Have fun with it!