Expo: Framework React Native, SDK, EAS Build Guía
Expo es un framework + plataforma para apps React Native — managed workflow, EAS Build, Expo Go, OTA updates. Ships apps iOS/Android sin config nativa.
¿Qué es Expo?
Expo es un framework open-source y plataforma cloud para construir apps React Native. Abstrae la complejidad nativa iOS y Android para que developers JavaScript puedan shippear apps mobile sin escribir Swift, Kotlin o mantener configuraciones Xcode/Android Studio. Expo es a React Native lo que Next.js es a React: tooling opinionated que maneja la infraestructura aburrida.
Expo incluye el Expo SDK (set curado de módulos nativos con APIs JavaScript), Expo Go (cliente development para testear en devices sin builds locales), EAS (Expo Application Services — cloud build, submit, update) y el Expo CLI.
¿Por qué usar Expo?
- Saltar setup nativo.
- Cross-platform desde una codebase.
- SDK curado.
- EAS Build.
- OTA updates.
- File-system routing.
- Backed por compañía Stripe-funded.
Workflows Expo: managed vs bare
| Workflow | Qué escribes | Acceso código nativo | Mejor para |
|---|---|---|---|
| Managed (default) | Solo JS/TS | Via Expo SDK + config plugins | La mayoría apps |
| Bare | JS/TS + código nativo | Full Xcode/Android Studio | Apps necesitando custom native modules |
Componentes ecosistema Expo
| Componente | Propósito |
|---|---|
| Expo CLI | Dev server, scaffolding |
| Expo SDK | 50+ módulos nativos |
| Expo Go | App sandbox para testing |
| EAS Build | Cloud iOS/Android builds |
| EAS Submit | Auto-submit a App Store |
| EAS Update | Updates OTA |
| Expo Router | Routing file-based |
| Expo Dev Client | Dev client custom |
| Snack | Playground Expo browser-based |
Quickstart: crear app Expo
npm install -g expo
npx create-expo-app my-app
cd my-app
npx expo startMódulos Expo SDK comunes
| Módulo | Capability |
|---|---|
expo-camera | Acceso cámara |
expo-location | GPS, geocoding |
expo-notifications | Push notifications |
expo-secure-store | Storage key-value encriptado |
expo-local-authentication | FaceID / TouchID |
expo-image-picker | Photo library/cámara picker |
expo-file-system | File I/O |
expo-haptics | Haptic feedback |
expo-maps | Mapas nativos |
expo-sqlite | Base datos SQLite |
EAS Build: cloud builds
{
"build": {
"production": {
"ios": { "simulator": false },
"android": { "buildType": "app-bundle" }
}
}
}OTA updates con EAS Update
eas update --branch production --message "Fix login bug"Expo vs React Native CLI
| Aspecto | Expo | React Native CLI |
|---|---|---|
| Complejidad setup | Baja | Alta |
| Código nativo | Via config plugins | Directo |
| Proceso build | EAS Cloud | Local Xcode/Gradle |
| OTA updates | EAS Update built-in | Setup manual |
| App size | Ligeramente mayor | Más slim |
| Mejor para | La mayoría apps | Heavy customización nativa |
FAQ: Expo
¿Es Expo gratis?
Framework + SDK son open-source. EAS tiene tiers gratis y planes pagos.
¿Debería usar Expo o React Native CLI?
Default a Expo.
¿Pueden apps Expo usar cualquier módulo nativo?
Sí vía config plugins.
¿Qué es Expo Go?
Una app sandbox gratuita para iOS/Android.
¿Cuál es la diferencia entre EAS Build y EAS Update?
EAS Build compila binarios nativos. EAS Update pushea cambios JS bundle.
¿Puedo publicar a App Store / Play Store?
Sí. EAS Submit automatiza submission.
¿Qué es Expo Router?
Routing file-based para React Native.
¿Soporta Expo web?
Sí — el mismo código puede targetear React Native Web.
Load-testea el backend de tu app Expo con LoadFocus
Expo maneja el cliente mobile; LoadFocus maneja la carga backend. Corre scripts JMeter y k6 contra tu API desde 25+ regiones con hasta 12.500 VUs. Regístrate en loadfocus.com/signup.
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus — la misma plataforma que potencia todo lo que acabas de leer.