Expo SDK Overview
The Expo SDK is a collection of 100+ native modules that provide access to device and system functionality for React Native and Expo applications. Each module is designed to work seamlessly across iOS, Android, and web platforms.What is the Expo SDK?
The Expo SDK provides:- Native API Access: Direct access to device features like camera, sensors, file system, and more
- Cross-Platform: Write once, run on iOS, Android, and web
- TypeScript Support: Full type definitions for all APIs
- Modular Architecture: Install only the modules you need
- Auto-Configuration: Most modules auto-configure with
npx expo prebuild
Module Categories
Core Modules
Foundational modules for app architecture and configuration:expo-modules-core- Module API architectureexpo-constants- System and app constantsexpo-asset- Asset managementexpo-file-system- File system accessexpo-font- Custom font loading
UI Components
Pre-built UI components with native performance:expo-camera- Camera access and captureexpo-image- High-performance image componentexpo-video- Video playbackexpo-blur- Native blur effectsexpo-symbols- SF Symbols for iOS
Device APIs
Access to device hardware and system information:expo-device- Device informationexpo-battery- Battery statusexpo-sensors- Accelerometer, gyroscope, etc.expo-haptics- Haptic feedbackexpo-brightness- Screen brightness control
Data & Storage
expo-secure-store- Encrypted storageexpo-sqlite- SQLite databaseexpo-file-system- File operations
Media
expo-camera- Photo and video captureexpo-image-picker- Select from galleryexpo-media-library- Access photo libraryexpo-audio- Audio playback and recording
Communication
expo-notifications- Push notificationsexpo-sharing- System share sheetexpo-sms- Send SMS messagesexpo-mail-composer- Compose emails
Installation
Install Individual Modules
Auto-Configuration
Most modules automatically configure native projects:ios/ and android/ directories with all required native configuration.
Basic Usage
Version Compatibility
SDK Versioning
Each Expo SDK version is tied to specific React Native versions:| Expo SDK | React Native | Release Date |
|---|---|---|
| SDK 55 | 0.83.x | Feb 2024 |
| SDK 54 | 0.82.x | Jan 2024 |
| SDK 53 | 0.81.x | Dec 2023 |
Module Versions
When you install modules withnpx expo install, the correct versions are automatically selected based on your Expo SDK version.
Platform Support
Most modules support iOS, Android, and web:- iOS: Full native implementation
- Android: Full native implementation
- Web: JavaScript implementation or polyfill
Check individual module documentation for specific platform support details.
TypeScript Support
All modules include full TypeScript definitions:Bare React Native
Expo modules work in bare React Native projects:Module Architecture
Expo modules are built onexpo-modules-core, which provides:
- Swift API: Write iOS modules in Swift
- Kotlin API: Write Android modules in Kotlin
- JavaScript API: Consistent JavaScript interface
- Auto-Linking: Automatic native module discovery
Resources
Next Steps
- Explore Core Modules
- Browse UI Components
- Learn about Device APIs