React Native

A cross platform mobile technology

React Native

React Native is based on the ReactJS framework, it allows to create cross platform mobile applications from a Javascript code base.

React Native is a framework designed by Facebook to accelerate the development of their mobile applications. Applications developed with Native React have the “look and feel” of native applications while retaining the advantages of web development. The applications can be deployed on Android and iOS faster without sacrificing performance and ergonomics.

React Native relies on the React.js Javascript framework that combines simplicity and modularity for developers. Contrary to hybrid technologies based on the concept of WebView, based on HTML and CSS, Native React can develop from native UI components of iOS and Android: the Javascript code invokes native components to be deployed on both platforms. The end result is imperceptible from a native application.

In practice this means that developers work on a single code base. The development of the application is faster.

Who is using React Native? Apart obviously from Facebook apps (Facebook Ads Manager, Facebook Groups), the latest versions of the Instagram, Airbnb and Gyroscope mobile apps have been built with React Native.

Advantages of React Native

Faster development

  • Single code base for iOS and Android platforms
  • Developers can focus on one programming language: Javascript
  • No compilation, the app is reloaded in real time: : a feature that native developers wish they had!
  • Fluid development flow comparable to that of a web project
  • It delivers more in less time!

Native rendering

  • Performance is not sacrificed
  • Same components used by applications coded in native languages (Objective-C or Java Swift for iOS and for Android)
  • Taking advantage of the best features of both native OS
  • The end result is imperceptible from a native mobile application

Ease of maintenance

  • Single code base for iOS and Android platforms
  • Reusable and easily interchangeable components
  • Unidirectional data flow
  • Adding features or modifications on a published app is simplier

Our Experience with React Native

Our team at Oursourcify has been using the React.js Javascript library and we naturally got interested in React Native when we heard that a new technology could allow us to develop mobile applications from our knowledge of React. Ryan at Outsourcify is our mobile development project manager and has several years of experience developing mobile applications with various hybrid technologies including Qt/VPlay and native development in Objective C for iOS and C++ for Android. We spent the last few months working on a social media mobile application for one of our clients and we chose React Native for the various exposed above. This app allows to answer quizzes and challenge friends to find out if they know each other. We managed to have the first version of the application delivered for Android and iOS in 2 months. The mobile app is coupled with a Firebase cloud database which hosts the database of users, questions and answers and helps manage the notifications.

team-app