Nov 3, 2022

Rethinking React Native Architecture: Part I

Let's begin the new era of React Native. Learn about the fundamentals of the new architecture of JSI, Fabric, Codegen, and Turbo Modules.

Author

Ponikar Darshan JanardanPonikar Darshan JanardanSoftware Engineer - I
Rethinking React Native Architecture: Part I

Hello there, My name is Darshan Ponikar. I work as Software Engineer at GeekyAnts. I look forward to sharing my insights on React Native's new architecture. 

I brainstormed the new term JSI in React Native in the past few months. I had many questions, like why does React Native need a new architecture? 
Understanding the current architecture problem will affect developers who code in React Native and so on. I tried to connect the dots, and here I am.

I will share my experience with React Native architecture. In this blog, you will learn what JSI is, whether it is faster than the bridge architecture, and, most notably, as React Native developers, do we need to know new concepts to build a React Native app?

Communication

It looks like magic, but it's not. We write code in JavaScript, and when we run, we see all the native views and buttons in the app. At first, when I wrote my first line of code in React Native, I was fascinated by the framework.

But after spending some time with React Native, I decided to learn about the internals of React Native and, as we know, JavaScript communicates with the native (android/iOS) world. 

Let's recap some good memories of react native before we jump on the new architecture part. 

React Native Old architecture

Consider these different environments as universes. With that help, universes can send data back and forth, and we have a bridge. 

So what happens when we write code in javascript, it gets serialized first, and then JS sends that data to the android/iOS universe. This data contains some set of instructions like creating a view or button. 

Everything happens through this bridge. The bridge is responsible for the communication between these universes.

Problem

Sometimes the bridge becomes too slow because,
- JS universe sends data back and forth.
- The process of serializing/deserializing takes time.
- Some data needs to be queued hence the delay in response.

In this scenario, the bridge can't handle the load, and eventually, users experience a lag. 

We see that bridge is not sufficient for communication. The React Native wizards (React Native core team) identified this problem and started searching for a replacement for this bridge. 

bangalore traffic jam by simsons

New Era

The React Native wizards came up with a new way to communicate between universes. They named it JSI. Don't worry, and I was utterly shocked like you. Let's deeply understand this. 

JSI stands for JavaScript Interface, which is written in C++. It is a replacement for a bridge. Let's understand how JSI works.

The idea is, "Why pass data back and forth when you can control the native instance from the JavaScript world."

I know this is a little unclear. Let me break this down.

JSI exposes all the native instances (methods) references to the JavaScript runtime. JavaScript has the reference of this method that can be used to call the native methods from JavaScript. 

JSI eliminated two significant problems.

1. Data doesn't need to be queued.
2. Data doesn't need to be serialized/deserialized.

React Native Rearchitecture

This probably looks like magic and doesn't make any sense at first. Let's understand the story behind the JSI.

JSI threads the gap between JavaScript and the Native world. React Native JavaScript has been able to call the C++ method under the hood for a long time.

On the Native iOS side, We can write C++ code along with Objective C. This lets us write JSI binding. 

On the Android side, we can't write C++ code directly, so We need JNI., which lets us interact with C++ code through JNI. This way, we can bind our Native Java method to C++.

What JSI does is that it binds the native method first and registers this method in JS runtime via global property. So this means that you can directly call native methods from JavaScript. 

This method can be synchronous because it seems like it is implemented in JS (but it is not). 

Type Casting

So now we have a decent knowledge of how JSI is working under the hood. Let's understand how data is sent between different universes. 

In old architecture, everything was sent in a JSON format. JSI does type casting like any other language. We can get data as strings, numbers, arrays, or objects. 

JSI Type Casting

So when we are going to write a JSI module, we can type cast data as number, string, array and object. 


JSI is a foundation of a new architecture. This was a basic understanding of what JSI is. However, React Native Architecture has three pillars: Fabric, Codegen, and Turbo modules. We will talk about these pillars in upcoming blogs.

I hope you have gained some knowledge by reading this blog. Please share your thoughts in the comment box.

You can contact me on Twitter - Darshan Ponikar, if you want to know more about the new architecture. 

Subscribe to Our Newsletter

RELATED ARTICLES

More from the engineering frontline.

Dive deep into our research and insights on design, development, and the impact of various trends to businesses.
Why Legacy Systems Block Real-Time AI Decision-Making
Business

Aug 4, 2026

Why Legacy Systems Block Real-Time AI Decision-Making
Learn how legacy systems limit real-time AI decision-making and what businesses can do to build an AI-ready infrastructure.
What Makes an AI Product Enterprise-Ready? A Business Leader’s Perspective
Business

Aug 4, 2026

What Makes an AI Product Enterprise-Ready? A Business Leader’s Perspective
Most AI pilots never make it to production. Here are the five questions business leaders should ask before approving, buying, or scaling an AI product.
Building AI-Powered Banking CRM Platforms Without Replacing Core Banking Systems
Business

Jul 31, 2026

Building AI-Powered Banking CRM Platforms Without Replacing Core Banking Systems
Banks can modernize CRM with AI without replacing their core banking systems. This guide covers the architecture, use cases, governance, and roadmap to do it.
AI in Fintech: Everyone's Talking, Few are Shipping
Business

Jul 30, 2026

AI in Fintech: Everyone's Talking, Few are Shipping
This blog covers the key engineering, governance, and compliance principles required to build production-ready AI systems for financial services.
ERP and MES Integration for U.S. Pharma Manufacturers: A Roadmap to Achieve Zero-Error Production and End-to-End Traceability
Business

Jul 27, 2026

ERP and MES Integration for U.S. Pharma Manufacturers: A Roadmap to Achieve Zero-Error Production and End-to-End Traceability
A strategic roadmap for U.S. pharma leaders integrating ERP and MES to reduce production errors, accelerate batch release, strengthen compliance readiness, and enable end-to-end traceability across manufacturing sites.
How to Build Medical Device Software with AI: Compliance, Architecture, and Development Process
Business

Jul 24, 2026

How to Build Medical Device Software with AI: Compliance, Architecture, and Development Process
A guide for engineering leaders on building compliant, production-ready AI medical device software, from architecture to FDA clearance.

The Right Conversation Can Save You Six Months.

Whether you’re navigating AI adoption, modernizing legacy systems, or scaling a product - we start by listening. No pitch deck. No template. A real conversation.