Concept

Native Modules and Expo Plugins

When you need to drop down to Swift/Kotlin and how to do it cleanly.

99% of mobile work in Expo never touches native code. The other 1% — bespoke Bluetooth, certain payment SDKs, deep system APIs — needs a native module. Expo's Modules API lets you write Swift and Kotlin alongside your TS, with no need to eject.

When you do reach for native: write the smallest possible bridge, expose one or two functions to JS, ship. Don't try to reproduce the whole SDK in JS. The agent is great at scaffolding the Swift/Kotlin glue if you describe the public API you want.

Check your understanding
Q1. What's the right scope for a native module you're adding to an otherwise JS app?
· Score 100% on the quiz.