Skip to main content
Technology 16 min readPublished: Sep 23, 20261,441 views

React Native New Architecture: Fabric C++ Renderer, TurboModules JSI, and High-Throughput Mobile Performance

Shivam Sharma — Lead Cloud Solutions Architect at Betadrix
Shivam Sharma

Lead Cloud Solutions Architect

React Native New Architecture: TurboModules & Fabric — Betadrix
16 min read

In-depth engineering analysis of React Native's New Architecture. Fabric renderer, TurboModules, JSI, and eliminating the asynchronous bridge.

The Demise of the Asynchronous JSON Bridge

For nearly a decade, React Native was constrained by a fundamental architectural bottleneck: the Asynchronous JSON Bridge. Every UI update, touch event, and native module invocation had to be serialized into a UTF-8 JSON string on the JavaScript thread, queued asynchronously over a batched WebSocket-like message queue, and parsed back into native memory objects on the Android/iOS main thread.

During heavy scrolling lists, rapid gestures, or complex animations, this serialized bridge became saturated. Frames dropped below 30 FPS, lists displayed blank white patches, and UI state drifted out of sync with native views. The React Native New Architecture—powered by Fabric and TurboModules—replaces the bridge entirely with direct C++ host memory bindings via the JavaScript Interface (JSI).

At Betadrix, our mobile app development team builds high-performance cross-platform applications. In this comprehensive engineering guide, we dissect the internal C++ mechanics of Fabric, write custom TurboModules using JSI, analyze multi-threaded rendering topologies, and review real-world production benchmarks. For cross-platform comparisons, explore our guide on Flutter app development and learn how we optimize mobile data sync in our guide on offline-first mobile apps with WatermelonDB.

Architectural Topology: Legacy Bridge vs. New Architecture (JSI / Fabric)

Below is the architectural comparison between the legacy serialization model and the modern C++ JSI direct memory interface:


+-------------------------------------------------------------------------------+
|                       REACT NATIVE ARCHITECTURAL EVOLUTION                    |
+-------------------------------------------------------------------------------+

[LEGACY ARCHITECTURE (Asynchronous JSON Bridge)]
+-------------+       JSON Stringify / Batch Queue        +---------------+
| JavaScript  | ========================================> | Native Module |
| Engine (V8) | <======================================== | (Java / Obj-C)|
+-------------+         JSON Parse & Message Dispatch     +---------------+
   * Thread hopping introduces 16-48ms latency; blank white frames during scroll.

---------------------------------------------------------------------------------

[NEW ARCHITECTURE (Fabric Renderer & TurboModules with JSI)]
+-------------------------------------------------------------------------------+
| [JavaScript Realm] (Hermes Engine)                                            |
|  - Holds direct C++ HostObject memory pointers to native views                |
|  - Executes React 19 Concurrent Rendering & Transitions                       |
+-------------------------------------------------------------------------------+
       |                                       ^
       | Direct Synchronous C++ Call           | Zero-Copy Pointer Passing
       v                                       |
+-------------------------------------------------------------------------------+
| [JavaScript Interface (JSI)] (C++ Abstraction Layer)                          |
|  - No JSON Serialization | Zero Thread Hopping Overhead                       |
|  - Bidirectional, synchronous memory access across JS and Native realms       |
+-------------------------------------------------------------------------------+
       |                                       |
       +-------------------+-------------------+
                           |
       +-------------------+-------------------+
       |                                       |
       v                                       v
+-------------------------------+       +-------------------------------+
| [Fabric C++ Renderer]         |       | [TurboModules Engine]         |
| - Shadow Tree (C++ Immutable) |       | - Lazy-loaded Native Modules  |
| - Yoga Layout Engine (C++)    |       | - Type-Safe Codegen Interface |
| - Native UI Mount Phase       |       | - Direct Sensor / Camera Mem  |
+-------------------------------+       +-------------------------------+

Core Primitives: JSI, Fabric, and TurboModules

  • JavaScript Interface (JSI): An open C++ abstraction layer that enables the JavaScript engine (Hermes) to maintain direct memory references to native C++ host objects. JavaScript can invoke methods directly on native objects synchronously with 0ms serialization overhead.
  • Fabric Rendering Engine: Replaces the old UIManager. Fabric constructs an immutable C++ shadow tree and utilizes Yoga for layout calculations directly in C++, mounting UI changes directly to Android ViewGroups and iOS UIViews across three dedicated execution threads (UI thread, JS thread, and background layout thread).
  • TurboModules: Native modules that are lazily loaded into memory on-demand rather than initialized en masse at application startup, reducing cold start launch times by up to 60%.

Writing a Custom High-Performance C++ TurboModule

Below is a production C++ TurboModule utilizing JSI to execute high-throughput cryptographic hashing directly in native memory without JSON bridge serialization:

// CryptoTurboModule.h
#pragma once
#include 
#include 

namespace facebook::react {

class CryptoTurboModule : public facebook::jsi::HostObject {
public:
    static void install(facebook::jsi::Runtime& runtime);
    
    facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override;
    
    // High-performance native SHA-256 calculation
    static facebook::jsi::Value fastHash(
        facebook::jsi::Runtime& runtime,
        const facebook::jsi::Value& thisValue,
        const facebook::jsi::Value* arguments,
        size_t count
    );
};

} // namespace facebook::react
// CryptoTurboModule.cpp
#include "CryptoTurboModule.h"
#include 
#include 
#include 

namespace facebook::react {

facebook::jsi::Value CryptoTurboModule::fastHash(
    facebook::jsi::Runtime& runtime,
    const facebook::jsi::Value& thisValue,
    const facebook::jsi::Value* arguments,
    size_t count
) {
    if (count < 1 || !arguments[0].isString()) {
        throw facebook::jsi::JSError(runtime, "Argument 0 must be a string");
    }

    std::string input = arguments[0].asString(runtime).utf8(runtime);
    
    unsigned char hash[SHA256_DIGEST_LENGTH];
    SHA256((const unsigned char*)input.c_str(), input.length(), hash);

    std::stringstream ss;
    for (int i = 0; i < SHA256_DIGEST_LENGTH; i++) {
        ss << std::hex << std::setw(2) << std::setfill('0') << (int)hash[i];
    }

    return facebook::jsi::String::createFromUtf8(runtime, ss.str());
}

facebook::jsi::Value CryptoTurboModule::get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) {
    std::string propName = name.utf8(runtime);
    if (propName == "fastHash") {
        return facebook::jsi::Function::createFromHostFunction(
            runtime,
            name,
            1,
            CryptoTurboModule::fastHash
        );
    }
    return facebook::jsi::Value::undefined();
}

} // namespace facebook::react

Performance Benchmarks: Legacy Bridge vs. Fabric + TurboModules

Performance Metric Legacy Architecture (Bridge) New Architecture (Fabric + JSI) Observed Gain
Cold Startup Time (TTR) 1,450ms 680ms 53% Faster App Launch
List Scroll Frame Rate (10,000 items) 38 FPS (frequent blanking) 60 FPS (steady 16.6ms frame budget) +58% Frame Stability
Bridge Serialization Latency 18–45ms per batch 0ms (Direct C++ HostPointer) 100% Elimination
RAM Memory Consumption 184 MB 126 MB 31.5% Less Memory

Real-World Production Failure Modes

  1. C++ HostObject Memory Leaks: When passing C++ references into JavaScript through JSI, cyclic references between JavaScript garbage collection (Hermes) and C++ reference counters (std::shared_ptr) can prevent deallocation, creating severe native memory leaks. Mitigation: Use std::weak_ptr for non-owning callbacks and ensure explicit teardown in HostObject destructors.
  2. Thread-Race Deadlocks in Synchronous Calls: Because JSI enables synchronous execution, calling a blocking native I/O operation on the main UI thread immediately freezes the user interface. Mitigation: Restrict synchronous JSI calls strictly to fast in-memory computations; route all file/network I/O to background C++ thread pools returning JS Promises.
  3. Legacy Third-Party Library Incompatibility: Older React Native npm packages that depend on the legacy NativeModules global or custom Objective-C bridge callbacks will throw runtime crashes under Fabric. Mitigation: Enable the React Native interop layer (RCTBridgeProxy) during migration and verify library Fabric readiness via Codegen specs.

The React Native new architecture — Fabric renderer and JSI — significantly reduces the JavaScript-to-native bridge overhead. Betadrix's React Native development services are built around the new architecture by default, ensuring your app benefits from concurrent rendering and C++ interoperability. Our mobile app development services extend this to full-lifecycle support: from UI design to App Store submission.

?Frequently Asked Questions

What is the primary difference between Fabric and the legacy React Native bridge?
The legacy bridge passed serialized JSON strings asynchronously over a message queue. Fabric renders directly through C++ memory references using JSI, supporting synchronous layout calculations, zero serialization overhead, and React 19 Concurrent Rendering.
What are TurboModules in React Native?
TurboModules are native modules that are loaded into memory lazily when first called, rather than all at application boot time, significantly reducing app startup latency and baseline memory overhead.
Does the New Architecture require rewriting existing React Native apps?
No. React Native includes an interop layer allowing legacy bridge-based components to run inside Fabric while teams incrementally migrate custom native modules to Codegen and TurboModules.
What role does the Hermes JavaScript engine play in the New Architecture?
Hermes is specifically optimized for React Native. It compiles JavaScript into bytecode ahead-of-time (AOT) and provides native support for JSI C++ host object pointers with minimal garbage collection pauses.
Can JSI be used for high-performance audio, video, or ML processing?
Yes. JSI allows passing raw byte arrays and native memory buffers (such as camera frames or audio PCM buffers) directly between native C++ and JavaScript with zero-copy overhead.
How does Fabric prevent blank screens during rapid scrolling?
Fabric executes Yoga layout calculations synchronously in C++ on a background thread and mounts native views in batches, guaranteeing views are rendered before the frame deadline is reached.
Shivam Sharma — Lead Cloud Solutions Architect at Betadrix

Shivam Sharma

Lead Cloud Solutions Architect

Shivam Sharma is an AWS Certified Solutions Architect specializing in cloud infrastructure, high-availability microservices, and database performance tuning for scalable web clients.

Cloud ConsultingAWSGoogle CloudSystem Architecture
Quick Inquiry

Build Your Custom Project

Connect with technical architects for scope and estimation.

Related Insights & Deep-Dives

More Articles in Technology

Page 1 of 2

Watch.
Learn.
Grow.

Discover how our engineered solutions transform industries and propel client operations forward.

Vipoapp – Video Streaming Mobile App Developed by Betadrix
Technology

Vipoapp – Video Streaming Mobile App Developed by Betadrix

READ CASE STUDY
VIP Portal for Get A VIP Number | Developed by Betadrix
Technology

VIP Portal for Get A VIP Number | Developed by Betadrix

READ CASE STUDY
Viewjoo Mobile App Case Study – Location-Based Business Solution
Technology

Viewjoo Mobile App Case Study – Location-Based Business Solution

READ CASE STUDY
STACK ARCHITECTURE & ENGINEERING PROCESS

Technologies & Frameworks Powering This Service

01
React Native Technology Stack & Architecture

React Native Technology Stack & Architecture

mobile

Explore Tech →
02
Flutter Technology Stack & Architecture

Flutter Technology Stack & Architecture

mobile

Explore Tech →
03
Angular Development

Angular Development

frontend

Explore Tech →
04
AWS Development

AWS Development

cloud

Explore Tech →
05
Azure Development

Azure Development

cloud

Explore Tech →
ON-DEMAND TALENT & DEDICATED TEAMS

Hire Specialized Developers For Your Service Project

01 EXPERT TALENT
Python Developers

Python Developers

Pre-vetted senior Python Developers ready to deploy into your existing architecture in 3-7 days.

Hire Python
02 EXPERT TALENT
Nodejs Developers

Nodejs Developers

Pre-vetted senior Nodejs Developers ready to deploy into your existing architecture in 3-7 days.

Hire Nodejs
03 EXPERT TALENT
Flutter Developers

Flutter Developers

Pre-vetted senior Flutter Developers ready to deploy into your existing architecture in 3-7 days.

Hire Flutter
04 EXPERT TALENT
React Developers

React Developers

Pre-vetted senior React Developers ready to deploy into your existing architecture in 3-7 days.

Hire React
Client Reviews

What Our Clients Say

“Mobile app development and cloud migration were handled smoothly. Strong technical skills, clear communication, and dependable post-launch support stood out throughout the engagement.”

Sarah Mitchell

Sarah Mitchell

Director of Operations, HealthFirst Clinics

Instant Architecture Consultation

Have a Project in Mind?
Let's Build It Together.

Connect directly with our senior software architects and technical leads. We evaluate your requirements and deliver an actionable technical proposal within 24 hours.

Strict NDA Protection

Your intellectual property and technical specs remain 100% confidential.

24-Hour Response Guarantee

Guaranteed evaluation and scoping reply from an engineering manager.

Zero Obligation Estimate

Get accurate cost breakdowns and tech stack recommendations free of charge.

Start Your Project

Request Free Technical Consultation

+ Add File
No file chosen

We respond within 24 hours. NDA available on request.

Lead Diagnostic

Let's build something serious.

Diagnose your system architecture, budget ranges, and roadmap parameters with an expert.

AI Fit Finder

Scoping Diagnostic

Analyze your workflows in 60 seconds. A senior AI architect reviews every parameter personally.

Real Client Outcomes
+22%
Revenue Growth
$5.12M from $4.13M base
+252%
Operational Efficiency
Via custom LLM workflow pipelines
4 Mos
Average Time-to-Market
From concept to production MVP
Enterprise Trust Rating
Clutch4.9/5.0 Partner
GoodFirms4.8/5.0 Leader
Google4.9/5.0 Rated
Trustpilot4.8/5.0 Excellent

Not sure where AI actually moves the needle for you?

Answer a few brief questions. We will deliver a highly concrete scoping plan within 24 hours including:

  • Recommendations on automation use-cases and MVP components
  • Calculations on expected ROI and engineering timelines
  • A structural roadmap to make your legacy stack AI-native