Native module cho phép JS gọi API nền tảng mà RN chưa bọc (Apple Pay, SDK riêng, xử lý ảnh hiệu năng cao) hoặc tái dùng thư viện Kotlin/Swift/C++ sẵn có.
Turbo Native Modules (kiến trúc mới) thay cho native module cũ:
- Bạn khai báo đặc tả kiểu (spec) bằng TypeScript/Flow.
- Codegen sinh interface native từ spec → type-safe, bắt lệch kiểu lúc build.
- Gọi qua JSI: lazy-load (chỉ nạp module khi dùng) và có thể đồng bộ, nhanh hơn kiểu cũ (async qua bridge).
So với native module cũ: cũ nạp toàn bộ lúc khởi động và giao tiếp async qua bridge; Turbo module tải lười + JSI trực tiếp.
Hay hỏi: khi nào cần viết native module thay vì thư viện JS thuần.