Interview frequency: …
Short answer
The bare workflow provides full access to and direct editing of the android and ios directories and native code, while Expo Managed hides the native directories and manages builds and updates through Prebuild and Config Plugins.
Explanation
The Bare Workflow offers complete flexibility for writing custom native code, but requires ongoing maintenance of build files, Xcode, and Gradle. In modern Expo, Continuous Native Generation (CNG) and Config Plugins let you use any native library without manually writing code in the Android and iOS directories, enabling faster development and smoother upgrades.
Code example
// Configure Native settings in Expo without touching the Android/iOS folders (app.json):
{
"expo": {
"name": "MyApp",
"plugins": [
["expo-camera", { "cameraPermission": "Allow camera access to take photos" }]
]
}
}Common mistakes
- The outdated belief that Expo does not support custom Native libraries or Bluetooth, as was the case in 2018.
Follow-up questions
- What is the modern Expo architecture, and what is Continuous Native Generation (CNG)?
- How is the Yoga Layout library connected to the React Native rendering system?