A powerful Babel plugin that automatically optimizes React Native apps through static source code analysis. It replaces standard React Native components with their native counterparts where possible, leading to significant performance improvements.
Warning
The library and its Babel plugin are still experimental. You should expect things to break. Please report any issues you encounter in the issues tab with reproducible examples, and use the library's ignore mechanisms to disable optimizations for problematic files or lines of code.
- β‘ Automatic performance optimization through source code analysis
- π Safe optimizations that don't break your app
- π― Virtually zero runtime overhead
- π± Cross-platform compatible
- π§ͺ Works seamlessly with Expo
- π¨ Configurable optimization strategies
The documentation is available at react-native-boost.oss.kuatsu.de.
The app in the apps/example
directory serves as a benchmark for the performance of the plugin.
More benchmarks are available in the docs.
Install the package using your favorite package manager. Please do not install the package as a dev dependency. While the Babel plugin itself would work as a dev dependency, it relies on importing the runtime library (react-native-boost/runtime
) into your code, which requires the package to be installed as a regular dependency. Read more here.
npm install react-native-boost
# or
yarn add react-native-boost
Then, add the plugin to your Babel configuration (babel.config.js
):
module.exports = {
plugins: ['react-native-boost/plugin'],
};
If you're using Expo and don't see the babel.config.js
file, run the following command to create it:
npx expo customize babel.config.js
Finally, restart your React Native development server and clear the bundler cache:
npm start --clear
# or
yarn start --clear
That's it! No imports in your code, rebuilding, or anything else is required.
Optionally, you can configure the Babel plugin with a few options described in the documentation.
A technical rundown of how the plugin works can be found in the docs.
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT