React Native Vs. Native Development

Ankit Bhalla
CARS24 Engineering Blog
3 min readOct 5, 2021

What is React Native?

A framework developed and promoted by Facebook contains all the goods of web and React and bundles it for cross-platform mobile and web application development.

How does it affect your application development?

Unlike Native Development, where you write code individually for iOS (swift/Obj C) and Android (Kotlin/Java), RN gets powered by JS and uses a single code base to render the UI. In addition to this, it also gives you the discretion to write code on the native side (iOS and Android) if need be.

BENEFITS

  1. Faster time to market and high execution speed: Building applications with a single code base gives you more power to develop features in a centralized place. So launching to market is done faster.
  2. Fewer resources required for the same amount of work: It cut short the dependencies of having multiple teams doing redundant development for both platforms.
  3. Mingle with website codebase: You get the power to reuse the code written in a React Website. It helps you to reduce the time of development and easy rollout of sprints.
  4. Growing community: The day by day increasing RN community gives us a cutting edge over other platforms’ application development tools. The latest updates in RN have increased the build creation speed and added better debugging tools.
  5. Power of Native is still there: In need of an hour, you can use the native side of mobile development. For some heavy lifting operations, it does come in handy.
  6. On the fly changes: The most powerful tool that comes along with RN is appcenter code push that enables you to push your bundle/changes live without deploying your application again and going through that exhausting review process, primarily from Apple.

Also, ReactNative now provides ReactNative web, and by switching to RN web, we can use the same codebase to create websites, thus gives us more freedom to explore web options and be fast in execution if our goal is to build web apps. I will not stress it as this blog is more in comparison with Native app development.

It is hard to coin everything or every aspect of the actual requirement at hand. Selecting the right tech stack is always a challenge; mobile developers or managers have the above-stated points as their primary objective while picking up any tech stack.

Why go with React Native

  1. Faster execution and time to market
  2. Fewer resources at the disposal
  3. Have the same scope defining for both platforms (iOS and Android)
  4. Want to have more focus on more immediate maintenance

Why go with Native Application

  1. When you already have a team of experts in both areas (iOS and Android). More resources in hand.
  2. Have time in hand to execute things
  3. Willing to maintain multiple code base for the exact scope of work
  4. Want to perform some heavy lifting jobs like running AR/VR induced screens or rendering 3D spaces in the app.

CONCLUSION:

With growing technologies, companies have started following the mobile-first approach, and everyone is aiming to launch apps first to market. I feel that it’s inefficient to maintain three different code bases of the web, iOS, and Android with this intent in mind. With this growing tech, we need better solutions to handle this in one centralized place and give the same or better results. React Native is one such approach that can surely provide an edge in terms of productivity (faster time to market as execution speed increases with one centralized codebase), quality (maintenance of the code becomes easy), and scope (not to worry about redundant development in multiple platforms)

If you like this article, please don’t forget to press on 👏.

--

--

Ankit Bhalla
CARS24 Engineering Blog

Engineering Manager @ CARS24 | Tech enthusiast | Reader | Learner | Avid traveler | Blogger