Blog by web developers Anthony Madhvani and Sam Van Hoof.
In an earlier blog we discussed the who, what, why and when of the Facebook-originated React development framework. We already mentioned the existence of React Native, the mobile partner in crime, as an extra reason to start using React. But why would this partner in crime be a reason in itself to choose for React? To answer this question, let’s simply highlight the main advantages of React Native.
The development of the React Native framework actually started as a hackathon effort in 2013, responding to the need of the developer community: it was looking for a mobile alternative that would combine the advantages of mobile app development with the power and agility of the native React environment. This resulted in React Native, a framework created by Facebook, and supported and continuously pushed forward by the development community.
There are considerable advantages to using such a community-driven environment like the availability of a huge team of enthusiastic JS and native developers willing to share their knowledge and expertise and huge catalogs of freely available components.
2. Maximum code reuse & cost saving
By using React Native, you can use the same code for deployment on iOS as well as on Android. This means a huge saving in development time and cost. Theoretically, the development effort could be cut by half. In practice, the cost saving will be a little lower but still more than interesting enough to make the investment worth your while. According to recent calculations, about 90% of the code can be reused between Android and iOS, but it would be wise to calculate some extra time for practical modifications as well.
3. Live reload
React Native might be considered as the mobile next step after React: It builds on the React ideas and allows you to create powerful mobile applications. In fact, React Native features an interesting extra that you will not find in the native frameworks: the ‘live reload’ feature, enabling you to immediately see the result of the latest change that you have made to the code. If you have two windows opened – one containing the code and the other showing a mobile screen as a result of the code – you can immediately see the effect of what you have changed in one screen, on the other screen.
4. Strong performance for mobile environments
The React Native architecture is very well tuned to mobile devices. It makes use of the GPU (Graphics Processing Unit), while native platforms are more ‘CPU (Central Processing Unit) intensive’. Compared to hybrid technologies – which was the only option for cross-platform in the past – React Native is superfast.
5. Modular and intuitive architecture similar to React
The same advantage that was already mentioned for using React can be highlighted here: the modular and intuitive interface makes it very easy for other developers to delve into someone else’s project and build upon it. This increases the flexibility within a development team, and makes it easier to create updates and upgrades to web applications. Additionally, testers will need less time to understand the programming logic and build appropriate testing scenarios. This will lead to valuable time-savings, which is a message that any customer and/or CFO loves to hear. Especially when this advantage is extended from web to mobile and vice versa.