mrousavy / nitro

🔥 Insanely fast native C++, Swift or Kotlin modules with a statically compiled binding layer to JSI
https://nitro.margelo.com
MIT License
598 stars 15 forks source link
cpp fast hybrid hybrid-object jsi kotlin library modules native nitro nitro-modules react react-native swift templates turbomodules

Nitro Modules


Nitro Modules are highly efficient native modules with a statically compiled binding layer to JSI, and typesafe JS bindings. It consists of two parts:

Installation

Install react-native-nitro-modules from npm:

npm i react-native-nitro-modules
cd ios && pod install

Documentation

Supported Platforms

Cross-platform

Cross-platform native modules can be built with C++. Any custom C++ types can be used and bridged to JS with minimal overhead.

JS <-> C++ type converters are statically generated ahead of time - no more dynamic lookups or runtime parser errors! 🥳

iOS

iOS native modules and view components can be written either in pure C++, or pure Swift. Thanks to Swift 5.9, Swift Nitro Modules bridge directly to C++ instead of going through Objective-C message sends. Woohoo, no more Objective-C, and zero overhead C++ -> Swift calls! 🥳

Android

Android native modules and view components can be written either in pure C++, or pure Kotlin/Java. Thanks to fbjni, even complex types can be effortlessly bridged to Kotlin/Java with minimal overhead! 🔥

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT