Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrousavy/nitro
🔥 Insanely fast native C++, Swift or Kotlin modules with a statically compiled binding layer to JSI
https://github.com/mrousavy/nitro
cpp fast hybrid hybrid-object jsi kotlin library modules native nitro nitro-modules react react-native swift templates turbomodules
Last synced: about 10 hours ago
JSON representation
🔥 Insanely fast native C++, Swift or Kotlin modules with a statically compiled binding layer to JSI
- Host: GitHub
- URL: https://github.com/mrousavy/nitro
- Owner: mrousavy
- License: mit
- Created: 2024-06-12T10:21:40.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-30T10:54:55.000Z (7 days ago)
- Last Synced: 2024-10-30T11:19:42.404Z (7 days ago)
- Topics: cpp, fast, hybrid, hybrid-object, jsi, kotlin, library, modules, native, nitro, nitro-modules, react, react-native, swift, templates, turbomodules
- Language: C++
- Homepage: https://nitro.margelo.com
- Size: 18.5 MB
- Stars: 558
- Watchers: 19
- Forks: 9
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**Nitro Modules** are highly efficient native modules with a statically compiled binding layer to JSI, and typesafe JS bindings.
It consists of two parts:- [**react-native-nitro-modules**](packages/react-native-nitro-modules): The core C++ library powering all nitro modules
- [**nitrogen**](packages/nitrogen): A code-generator for nitro module library authors## Installation
Install [react-native-nitro-modules](https://npmjs.org/react-native-nitro-modules) from npm:
```sh
npm i react-native-nitro-modules
cd ios && pod install
```## Documentation
- [**Nitro** docs 📚](https://nitro.margelo.com)
- [**Community Discord** 💬](https://margelo.com/discord)
- [**nitrogen**/README.md](./packages/nitrogen/README.md)
- [**react-native-nitro-modules**/README.md](./packages/react-native-nitro-modules/README.md)
- [**react-native-nitro-image** example module](./packages/react-native-nitro-image/README.md)## 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++](https://www.swift.org/documentation/cxx-interop/) 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](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## License
MIT