New Architecture là tên gọi chung cho 3 phần Meta viết lại RN từ năm 2020:
1. JSI (JavaScript Interface): C++ layer thay Bridge cũ. JS engine có tham chiếu trực tiếp tới object C++/native — gọi sync, không serialize JSON.
2. TurboModules: thay native modules cũ. Load lazy (chỉ khi gọi đến), type-safe qua Codegen, gọi qua JSI sync.
3. Fabric: renderer mới thay UIManager cũ. Concurrent rendering từ React 18 hoạt động đúng (Suspense, transitions, automatic batching). Layout chạy trong C++ (Yoga + ShadowTree), commit đồng bộ.
Thêm Bridgeless mode (RN 0.74+): bỏ hoàn toàn Bridge legacy, tất cả native interop qua JSI. Đây là đỉnh điểm New Arch.
Mặc định:
- RN 0.68 (2022): opt-in lần đầu, vẫn buggy, chưa khuyến nghị production.
- RN 0.71 (2023): ổn hơn, vài app lớn (Discord, Microsoft) chuyển.
- RN 0.74 (2024): Bridgeless ra mắt.
- RN 0.76 (2024-Q4): default cho project mới qua npx @react-native-community/cli@latest init. Project cũ vẫn opt-in được.
- RN 0.77+ (2025): old architecture deprecated, sẽ removed dần.
Tác động dev: API JS hầu hết không đổi. Pain point chính là migrate native modules cũ không tương thích — phải refactor sang TurboModule spec.
New Architecture is the umbrella for three pieces Meta rewrote in RN since 2020:
1. JSI (JavaScript Interface): a C++ layer that replaces the old Bridge. The JS engine holds direct references to C++/native objects and calls them synchronously, no JSON serialization.
2. TurboModules: the new native-module system. Lazy-loaded (only when invoked), type-safe via Codegen, called synchronously through JSI.
3. Fabric: the new renderer replacing the old UIManager. React 18 concurrent rendering works correctly (Suspense, transitions, automatic batching). Layout runs in C++ (Yoga + ShadowTree), committed synchronously.
Plus Bridgeless mode (RN 0.74+): the legacy Bridge is gone entirely; all native interop runs through JSI. This is the peak of the New Architecture.
Default timeline:
- RN 0.68 (2022): first opt-in, still buggy, not production-ready.
- RN 0.71 (2023): more stable, big apps (Discord, Microsoft) migrate.
- RN 0.74 (2024): Bridgeless launches.
- RN 0.76 (Q4 2024): default for new projects via npx @react-native-community/cli@latest init. Existing projects can still opt in.
- RN 0.77+ (2025): old architecture deprecated, gradually removed.
Dev impact: the JS API is mostly unchanged. The main pain is migrating old native modules that are incompatible — they must be refactored to a TurboModule spec.