margelo / react-native-worklets-core

🧵 A library to run JS functions ("Worklets") on separate Threads

Home Page:https://margelo.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🧵 react-native-worklets-core

A Worklet runner for React Native.

const worklet = () => {
  'worklet'
  return Math.random()
}

Note

In most cases, react-native-worklets-core shouldn't be used as a standalone dependency but rather as a peer-dependency for other modules such as react-native-vision-camera, react-native-wishlist, or react-native-skia.

Installation

  1. Install the library from npm:
    yarn add react-native-worklets-core
  2. Add the babel plugin to your babel.config.js:
    module.exports = {
      plugins: [
        ["react-native-worklets-core/plugin"],
        // ...
      ],
      // ...
    };
  3. Restart Metro with clean cache:
    yarn start --reset-cache

Usage

See USAGE.md

Contributing

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

License

MIT

Credits

  • Credits go to Christian Falch for building the initial version of this library. You're amazing! 🤩
  • Credits go to Software Mansion for introducing the concept of Worklets in Reanimated v2. This library is inspired by Reanimated v2 with a few structural changes to the Worklets architecture to make it more flexible for different use-cases, such as integrating it with other C++ libraries like VisionCamera and WishList.

About

🧵 A library to run JS functions ("Worklets") on separate Threads

https://margelo.io

License:MIT License


Languages

Language:C++ 56.5%Language:TypeScript 23.4%Language:JavaScript 12.8%Language:Java 2.7%Language:Ruby 1.5%Language:Objective-C++ 1.2%Language:Objective-C 1.0%Language:CMake 0.8%