Why we choose React Native for mobile app development


Photo of Sean Drury

Written by Sean Drury

As Cursor delves deeper into the world of mobile app development, it is important for us to use development tools which streamline our processes and improve our products. It is for these reasons that we choose to use React Native.

Yura Fresh 760055 Unsplash

Opinions

Monday 11th March 2019

What is React Native?

React Native is a JavaScript framework created by Facebook, which focuses on cross-platform functionality in mobile development. It claims to provide a service which allows users to create apps with “native look and feel” - but what does this mean?

A native app is one which is created for a specific platform or device, using a programming language designed for that device. So iOS phones run on their own programming language (Swift or Objective-C) and Android phones also run on their own language (mostly Java).

However, supporting two or more separate but functionally identical apps requires at least twice the time and resources.

React Native is so named because it can be used to develop apps which are native to multiple different platforms. React Native writes software using JavaScript, then compiles the code into an appropriate programming language for the device (e.g. Swift for iOS).

React Native has been used by some of the world’s biggest businesses, including Facebook, Instagram, Google, Microsoft, Uber, LinkedIn, and Walmart.

Why do we use React Native?

There are some advantages to using native frameworks, but we firmly believe that the flexibility and user friendliness of React Native makes it a better development tool for our projects.

Key advantages of using React Native include:

  • Speed: Because apps only need to be designed once in React Native, it is a much quicker process than it would be in a native framework. Businesses have reported that React Native can accelerate development time by as much as 300%.
  • Quicker updates: React Native’s ‘hot reloading’ feature means that app updates can be rolled out more quickly. They don’t need to be installed from the Apple App Store or Android Play; the app will simply update next time it is inactive.
  • Smaller teams: With only one team needed to develop for Android and iOS, communication, development and issue resolution are faster and cheaper than they would be with two separate teams.
  • Lower costs: Shorter delivery times, smaller teams, lower HR costs and streamlined product updates all contribute to lower costs when using React Native. It is also a free-to-use, open source framework.
  • Easier debugging: Using the same app across different platforms reduces the time and effort required to spot and fix errors. One fix will resolve the error on all platforms, ensuring consistency across different devices.

Why did we choose React Native over Ionic?

Previously, Cursor used the Ionic framework for app development. Like React Native, Ionic uses the JavaScript programming language and focuses on cross-platform functionality.

However, there are several advantages of React Native over Ionic which prompted us to choose the former:

  • Ionic relies heavily on web development tools, producing apps which are hybrids rather than fully native. This reduces development times, but it may mean that the interface is inferior and the app is less stable.
  • By contrast, React Native cuts out the middleman and builds components using software optimised for the device and the app, providing a better native experience.
  • The backing of Facebook means that React Native has better documentation and assured longevity. Ionic lacks the support of an internet giant.
  • React Native is free to use and open source. The basic version of Ionic is free, but more advanced versions require a monthly fee.

Conclusion

If you are developing apps for multiple different platforms or devices, and if you already use JavaScript, React Native is the obvious choice.

At Cursor, being able to develop just one version of an app for all platforms is a huge advantage which lowers costs, keeps delivery times short, and ensures that all versions of our apps are of the same high quality.

The sooner we can get our products into the online marketplace, the sooner our clients can start reaping the benefits.

Photo by Yura Fresh on Unsplash

More from our blog