Using React Native with legacy Native Applications

I’m a software architect at SolarEdge Technologies, Inc. I have a vast experience with Native Mobile technology both Android and iOS, and I would like the share in this post the experience I gain integrate React Native within SolarEdge mobile apps.

This post consists of two sections, the first part will explain using React Native as a javascript engine and share code between platforms, in the second section I will talk about integrating RN screens with an existing native app.

React Native as a JavaScript engine

The motivation for using RN as a JavaScript engine came from the following requirements:

We asked to create a new feature in our applications(Android and iOS) with similar functionality as our website. The website already had two main parts UI part in React and the business logic in JavaScript, so our motivation was to use the business logic in our apps and save time to implement it for both platforms.

First of all, we investigated few other technologies which integrate JS with mobile apps like :

but we found out that React Native is the ideal choice for us because of the following reasons :

  1. RN is one of the most widely used programming languages and has a great community of developers that love to share code and help others.
  2. In our project, we needed to write a bridge between RN to Native which is well documented and easy to integrate.
  3. Letting the developers use a platform that can be used in more variations put them in a better place as developers.

Integrate RN with Existed Project

I have also written some other posts in which I have explained how to integrate RN with both Android And iOS, both posts start to integrate RN with the existing app and show an RN screen, and later in the post present how to use the RN only as JS engine.