Mobile Dev English: Expo and React Native Vocabulary
Learn the English terms every Expo and React Native developer needs — managed workflow, OTA updates, JSI, EAS Build, native modules, and more.
Introduction
Mobile development with Expo and React Native comes with a vocabulary that blends web development terms, native platform language, and Expo-specific concepts. For developers whose first language is not English, phrases like “eject from managed workflow” or “bridge overhead” can be especially hard to parse because each word seems familiar but the combination has a very specific technical meaning. This post unpacks the key English vocabulary so you can read documentation, open issues, and discuss mobile architecture with precision.
Managed Workflow vs Bare Workflow
Expo offers two development approaches: the managed workflow and the bare workflow.
In the managed workflow, Expo handles the native build configuration for you. You write JavaScript and TypeScript, and Expo manages the underlying iOS and Android project files. The word “managed” here means controlled or handled by someone else on your behalf:
“We started the project in the managed workflow because we did not want to maintain separate Xcode and Android Studio configurations.”
The bare workflow gives you full access to the native iOS and Android project files. “Bare” means stripped down, without extra layers on top — the opposite of managed:
“After adding a custom Bluetooth module, we had to switch to the bare workflow because it requires changes to native project files.”
The phrase “eject from managed workflow” describes the one-way action of leaving the managed workflow to gain access to native files. “Eject” literally means to push or throw something out:
“Once you eject from the managed workflow, you take on responsibility for maintaining the native build configuration yourself.”
Over-the-Air Updates
An over-the-air (OTA) update is an update to the JavaScript bundle of your app that is delivered to users’ devices without going through the App Store or Google Play review process. “Over the air” is an old broadcasting phrase meaning transmitted wirelessly, without a physical connection.
“We pushed an OTA update to fix the crash without waiting for App Store approval — users received the fix within minutes.” “Over-the-air updates only work for JavaScript changes. Native code changes still require a full app store release.”
Native Modules and Bridge Overhead
A native module is a piece of code written in a platform’s native language (Swift, Objective-C for iOS; Kotlin, Java for Android) that exposes functionality to JavaScript. When React Native needs to do something JavaScript cannot do alone — like access the camera or Bluetooth — it calls a native module.
The original React Native architecture communicated between JavaScript and native code through the bridge — a serialisation layer that converted JavaScript values into native objects and back. This conversion had a performance cost called bridge overhead:
“Excessive calls across the bridge caused noticeable lag in our animation, so we moved to the new architecture.” “Bridge overhead was a known performance bottleneck in older React Native apps, especially for high-frequency updates like scroll position.”
“Overhead” in technical English means extra cost — usually in time, memory, or processing — beyond what the core task itself requires.
JSI: JavaScript Interface
JSI (JavaScript Interface) is the modern replacement for the bridge. It allows JavaScript to hold direct references to native objects and call native functions synchronously, without serialisation:
“With JSI, the native module runs in the same thread and returns values directly, which eliminates the bridge overhead we saw before.” “Migrating our camera library to JSI reduced the latency from 30ms to under 2ms.”
Native Module Linking
Native module linking is the process of connecting a JavaScript package to its native (iOS or Android) implementation. Before auto-linking was introduced, developers had to link modules manually by editing native project files.
“The library documentation says to run
npx react-native linkfor older versions, but with auto-linking you just install the package and rebuild.” “Always check whether a library supports auto-linking before adding it — manual linking adds maintenance overhead.”
EAS Build and Expo Router
EAS (Expo Application Services) Build is Expo’s cloud build service. Instead of building the iOS or Android binary on your local machine, you send the source code to Expo’s servers and receive a compiled app package.
“We use EAS Build in CI so that developers without a Mac can still produce iOS builds.”
Expo Router is Expo’s file-based routing system for React Native, inspired by Next.js:
“After adopting Expo Router, our navigation structure became much easier to understand because each file corresponds directly to a screen.”
Key Vocabulary
| Term | Definition |
|---|---|
| managed workflow | An Expo setup where Expo controls the native project configuration |
| bare workflow | An Expo setup where developers manage native iOS and Android files directly |
| eject | To leave the managed workflow and take control of native project files |
| over-the-air (OTA) update | A JavaScript bundle update delivered wirelessly, bypassing app store review |
| native module | A Swift/Kotlin/Java component that exposes platform features to JavaScript |
| bridge overhead | Performance cost caused by serialising data between JavaScript and native code |
| JSI | A modern React Native architecture that allows direct, synchronous JS-to-native calls |
| native module linking | Connecting a JavaScript package to its native platform implementation |
Practice Tips
- Next time you read a React Native library’s README, identify whether it uses the bridge or JSI and write one sentence explaining the difference to a fictional colleague.
- Practise using the word “overhead” in different sentences. It appears in performance discussions across all areas of software: “network overhead”, “memory overhead”, “abstraction overhead”.
- When you explain the difference between managed and bare workflows to someone, try using the contrast phrase “whereas”: “In the managed workflow, Expo handles configuration, whereas in the bare workflow, you control the native files directly.”
- Look up one EAS Build error message and write a GitHub issue description in English, including the steps to reproduce, expected behaviour, and actual behaviour. This structured writing practice is directly useful for open-source contribution.
Conclusion
Expo and React Native have evolved rapidly, and the vocabulary has evolved with them — from the older bridge model to JSI, from manual linking to auto-linking, from local builds to EAS. Knowing these terms in English puts you in a much stronger position to follow release notes, evaluate library choices, and communicate decisions clearly within your team. The best way to lock in the vocabulary is to use it actively in code comments, pull request descriptions, and team discussions.