Nâng CaoReact Native iconReact Native

Bridgeless mode là gì?

Bridgeless = bỏ hoàn toàn Bridge legacy. Mọi native interop chuyển sang JSI/Fabric/TurboModules.

Trước Bridgeless (RN 0.68–0.73, dù đã có New Arch):
- Bridge vẫn chạy song song để hỗ trợ legacy modules.
- JS thread vẫn share queue cũ với native.
- Vẫn có overhead dù nhiều phần đã chạy JSI.

Bridgeless (giới thiệu RN 0.74, default từ RN 0.76+):
- Không còn RCTBridge instance.
- App khởi động qua RCTHost (iOS) / ReactHost (Android) — manages JSI runtime, TurboModule registry, Fabric Surface.
- Mọi legacy NativeModule không TurboModule-compat sẽ không hoạt động → buộc migrate hoặc tìm replacement.
- Startup nhanh hơn 20–30% trên Android low-end.
- Memory footprint giảm vì không còn 2 bộ infrastructure song song.

Code thay đổi:

objc
// AppDelegate.mm — iOS new-style
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  self.moduleName = @"MyApp";
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

App template Expo/RN CLI mới đã setup sẵn.

Pitfall: lib chưa migrate sẽ crash hoặc throw "TurboModuleRegistry: 'MyOldModule' could not be found." Lúc đó:
1. Update lib lên version mới nhất.
2. Nếu lib không còn maintain, fork và migrate sang TurboModule spec.
3. Tạm thời unstable_enableSyncTurboModule workaround (deprecated, sẽ remove).

Xem toàn bộ React Native cùng filter theo level & chủ đề con.

Mở danh sách React Native