WEB TECHNOLOGIES ARE THE FUTURE OF MOBILE

 Native vs Hybrid
Mobile development used to be complicated and much more expensive than web development. iPhones, Android and Windows phones all use different technologies, to reach every user mobile apps had to be developped several times, once in the specific programming language of every platform, iOS (Objective C and now Swift), Android (Java), Windows Phone (C++, C#).
Early on, people tried to solve this problem by allowing developers to code mobile applications from web technologies, which resulted in encapsulating a website in HTML5 inside a mobile app. These solutions are known as “hybrid mobile apps”, they appeared a few years ago (Apache Cordova, also known as Phonegap, was created in 2009) but the apps that can be created are easily recognizable as they don’t match the smartphone’s own design (especially on iPhones) and have performance issues.

React Native

In our search for the best web tech to develop cross-platform applications, we quickly got interested in React Native when it was created in 2015 by a team from Facebook. React Native enables us to develop cross-platform mobile applications that render natively on smartphones and tablets. There is a single code to develop and maintain for an application deployed simultaneously on iOS, Android and soon on Windows phones.

WHY TO CHOOSE REACT NATIVE?

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