realm / realm-js

Realm is a mobile database: an alternative to SQLite & key-value stores
https://realm.io
Apache License 2.0
5.79k stars 576 forks source link

Support "bridgeless" mode by exposing a TurboModule on iOS #6653

Closed kraenhansen closed 3 months ago

kraenhansen commented 6 months ago

Historically our library has always been bridgeless, in the sense that we never really used the bridge to communicate from JS and instead relied on internal APIs to get a pointer to the JS runtime and expose our C++ library code through JS by constructing JS objects and functions via JSC and later JSI calls.

We did migrate the way we load our native code on Android to use a TurboModule, but the mechanism we use to initialize our native binding on iOS is still a hack and rely on the bridge. Since React Native 0.74.0 enables bridgeless by default when the new architecture is enabled, this refactor is overdue.

Relevant documentation:

sync-by-unito[bot] commented 6 months ago

➤ PM Bot commented:

Jira ticket: RJS-2815