TurboModules

React Native 7 min min read Updated: Aug 03, 2026 Advanced
TurboModules
Advanced Topic 4 of 18

TurboModules

TurboModules are the modern replacement for React Native’s legacy native modules system, built on top of JSI to provide significantly improved performance and lazy loading capabilities.

How TurboModules Differ from Legacy Native Modules

Legacy native modules were all initialized and loaded into memory at app startup, regardless of whether they were actually used, while TurboModules are lazily loaded only when a module is first accessed.

Improved Startup Performance

Since TurboModules are loaded on demand rather than all at once, apps with many native modules experience faster startup times compared to the legacy bridge-based system.

Type Safety with Codegen

TurboModules use a code generation tool called Codegen, which generates strongly typed native interfaces based on TypeScript or Flow type definitions, reducing runtime type errors.

typescript export interface Spec extends TurboModule { multiply(a: number, b: number): number; }

Defining a TurboModule Interface

Developers define a TypeScript or Flow interface describing the native module’s methods, which Codegen then uses to generate the necessary native binding code automatically.

Synchronous Method Calls

Since TurboModules are built on JSI, they support synchronous method calls when appropriate, eliminating the round-trip latency associated with the traditional asynchronous bridge.

Migrating from Legacy Native Modules

Migrating an existing native module to the TurboModules system involves defining a typed spec interface and updating the native implementation to conform to the new architecture’s requirements.

Conclusion

TurboModules significantly improve native module performance and type safety in React Native applications, representing a key component of the framework’s modern architecture built on JSI.

Get Newsletter

Subscibe to our newsletter and we will notify you about the newest updates on Edugators