EAS Build es el servicio alojado de Expo Application Services que convierte un proyecto Expo o React Native en binarios instalables: un .aab o un .apk para Android, un .ipa para iOS. Ejecutas un comando, el proyecto se sube, una máquina nueva en la nube lo compila y lo firma, y descargas el resultado o lo envías directamente a las tiendas. Gracias a él puedes generar un build para iPhone desde un portátil con Windows.
En cuanto al precio, la respuesta corta: el plan Free cubre hasta 15 builds de Android y 15 de iOS al mes, en una cola de baja prioridad. Los planes de pago empiezan en 19 USD al mes (Starter, con 45 USD de crédito para builds) y 199 USD al mes (Production, con 225 USD de crédito), y cada build que supera el crédito cuesta de 1 a 4 USD según la plataforma y el tamaño de la máquina. Estas cifras proceden de la página de precios de Expo, consultada el 13 de octubre de 2026.
Esta guía se centra en el servicio de build. Para tener la visión de conjunto del framework, su SDK y su router, empieza por qué es Expo.
Lo que hace EAS Build, y lo que no hace
La definición de Expo cabe en una frase: EAS Build es «un servicio alojado para compilar los binarios de tus proyectos Expo y React Native». También compila proyectos nativos que no usan ni Expo ni React Native, pero su configuración por defecto está pensada para apps Expo, así que la mayoría de los proyectos no necesitan configurar nada más.
En concreto, un build se encarga de cuatro tareas que resultan engorrosas de montar a mano:
- Una máquina de build limpia. Cada build tiene su propia máquina virtual con las herramientas ya instaladas: el SDK de Android en Linux, Xcode en macOS.
- La firma. EAS puede generar y guardar tu keystore de Android, tu certificado de distribución de iOS y tus perfiles de aprovisionamiento, o usar los que tú le proporciones.
- Ajustes reproducibles. Los perfiles de build de un archivo eas.json describen cada tipo de build, de modo que el mismo comando da el mismo resultado en cualquier portátil o en la CI.
- La distribución. Un build terminado puede compartirse con los testers mediante una URL, o pasarse a EAS Submit para las tiendas.
Lo que no hace: redactar la ficha de la tienda, hacer las capturas de pantalla ni publicar la app para el público. Esos pasos siguen en App Store Connect y en Play Console.
Build, Submit, Update: tres servicios distintos
EAS es una familia de servicios que a menudo se confunden. Solo uno de ellos compila algo.
| Servicio | Qué hace | Qué obtienes |
|---|---|---|
| EAS Build | Compila y firma la app nativa en una máquina en la nube | Un archivo .aab, .apk o .ipa, además de los logs del build |
| EAS Submit | Sube un binario terminado a Google Play o App Store Connect | Una versión en un canal de Play, o un build esperando en TestFlight |
| EAS Update | Envía cambios de JavaScript y de recursos a apps ya instaladas | Una corrección en los móviles de los usuarios sin nueva versión en las tiendas |
Cómo funciona un build de EAS, paso a paso
Necesitas Node.js, la EAS CLI y una cuenta gratuita de Expo. A partir de ahí, el camino del código a la tienda es este:
- Configurar una sola vez. Al ejecutar eas build:configure se crea eas.json en la raíz del proyecto, junto a package.json.
- Lanzar un build. eas build --platform android (o ios, o all) usa por defecto el perfil production; añade --profile preview para usar otro.
- Credenciales. La CLI comprueba las credenciales de firma y, la primera vez, se ofrece a generar las que faltan.
- Subida y cola. El proyecto se empaqueta y se sube, y el build espera a que quede libre una máquina en la cola de tu plan.
- Compilación en una máquina nueva. La máquina instala las dependencias, genera los proyectos nativos, compila y firma la app. Los logs se muestran en directo en el panel de Expo.
- Obtener el archivo. Descárgalo, compártelo con un enlace de instalación o deja que EAS Submit lo suba, después con eas submit o en la misma ejecución con --auto-submit.
Los perfiles de build en eas.json
Un perfil es un conjunto de ajustes de build con nombre propio. El archivo que genera eas build:configure contiene tres:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
}
}| Perfil | Para quién | Resultado habitual |
|---|---|---|
| development | Tú, mientras programas: un development build con herramientas de desarrollo (requiere expo-dev-client), instalado directamente en tus dispositivos | APK o build ad hoc de iOS; nunca se envía a una tienda |
| preview | Tu equipo y las personas implicadas, para probar en condiciones parecidas a producción | APK o build ad hoc de iOS, compartido por URL |
| production | Las tiendas, incluidos TestFlight y los canales de prueba de Play | AAB para Android (por defecto), IPA para iOS |
Hay dos ajustes que aparecen a menudo. "buildType": "apk" dentro de android convierte la salida de un perfil en un APK que se instala directamente, justo lo que interesa para preview. "resourceClass": "large" lleva un build pesado a una máquina más potente; medium es el valor por defecto, y las máquinas large requieren un plan de pago. Los perfiles también pueden heredar unos de otros con "extends", hasta cinco niveles de profundidad.
Credenciales y firma
Todo build destinado a las tiendas debe ir firmado. En Android, eso significa un keystore de subida; en iOS, un certificado de distribución y un perfil de aprovisionamiento, ambos vinculados a tu cuenta de Apple Developer. EAS puede generarlos y guardarlos en los servidores de Expo, para que cualquier máquina o cualquier compañero pueda lanzar un build sin pasarse archivos. También puedes subir los tuyos, algo importante cuando la app ya existe: Google rechaza las actualizaciones firmadas con otra clave de subida, y la firma de apps de Play guarda la clave de firma final en los servidores de Google.
Precios de EAS Build en 2026
Expo vende EAS por planes, y cada plan de pago incluye un importe en dólares de crédito para builds. El plan Free funciona de otra manera: cuenta builds, no dólares.
| Plan | Precio al mes | Builds incluidos | Cola | Builds simultáneos | Duración máxima del build |
|---|---|---|---|---|---|
| Free | 0 USD | Hasta 15 builds de Android y 15 de iOS | Baja prioridad | 1 | 45 minutos |
| Starter | 19 USD más el uso | 45 USD de crédito para builds | Alta prioridad | 1 | 2 horas |
| Production | 199 USD más el uso | 225 USD de crédito para builds | Alta prioridad | 2 | 2 horas |
| Enterprise | A medida, desde 1.000 USD | Personalizable | Alta prioridad | 5 | 2 horas |
Una vez agotado el crédito, cada build se factura con una tarifa fija que depende de la plataforma y de la máquina. Cada build simultáneo adicional cuesta 50 USD al mes en los planes de pago.
| Máquina | Configuración | Precio por build |
|---|---|---|
| Android, medium | 4 vCPU, 16 GB de RAM | 1 USD |
| Android, large | 8 vCPU, 32 GB de RAM | 2 USD |
| iOS, medium | 5 núcleos de rendimiento, 20 GiB de RAM | 2 USD |
| iOS, large | 10 núcleos de rendimiento, 40 GiB de RAM | 4 USD |
La cola y la duración máxima
Para un desarrollador independiente, el coste real del plan Free es el tiempo. Expo advierte de que en horas punta la espera en la cola de baja prioridad puede superar los 90 minutos, mientras que aspira a «cero espera» en la cola de alta prioridad que usan todos los planes de pago. Además, el build debe terminar en 45 minutos en el plan Free, frente a 2 horas en los de pago; un proyecto iOS grande con muchos módulos nativos puede rozar ese límite.
Lo que cuesta un mes de builds
Tres casos típicos, calculados con las tarifas anteriores en máquinas medium (cálculos nuestros, no cifras de Expo):
- Proyecto personal, 10 builds de Android y 8 de iOS: 0 USD en el plan Free, si la cola no te importa.
- Equipo pequeño, 30 builds de Android y 20 de iOS: 30 USD más 40 USD, es decir, 70 USD de uso. Los 45 USD de crédito de Starter cubren la mayor parte, y quedan 25 USD además de la suscripción de 19 USD: 44 USD ese mes.
- Producto activo, 100 builds de Android y 80 de iOS: 100 USD más 160 USD, es decir, 260 USD de uso. En Production, los 225 USD de crédito dejan 35 USD además de los 199 USD: 234 USD ese mes.
Las máquinas large duplican el precio de cada build, así que recurre a ellas solo para los builds que de verdad se quedan sin memoria o sin tiempo. Los builds lanzados desde EAS Workflows, el servicio de CI de Expo, se facturan con las mismas tarifas fijas.
¿EAS Build o build local?
No estás obligado a usar la nube. Hay dos opciones locales: eas build --local, que ejecuta el mismo proceso de build en tu propia máquina, y la vía clásica con Xcode y Android Studio, sin EAS.
| Criterio | EAS Build (nube) | eas build --local | Xcode / Android Studio |
|---|---|---|---|
| iOS desde Windows o Linux | Sí | No, iOS requiere un Mac con Xcode | No, Xcode solo funciona en macOS |
| Sistema compatible | Cualquier máquina con Node.js | macOS y Linux; Windows no compatible (WSL sin probar) | macOS para iOS; cualquier sistema para Android |
| Instalación | EAS CLI y una cuenta de Expo | SDK y NDK de Android, fastlane y CocoaPods para iOS, además de iniciar sesión en Expo | Todas las herramientas nativas, firma manual |
| Firma | Gestionada por EAS o la tuya propia | Puede descargar las credenciales gestionadas | Corre enteramente de tu cuenta |
| Coste | Cuota o crédito del plan, después de 1 a 4 USD por build | Tu hardware | Tu hardware |
| Límites principales | Cola en Free, duración máxima según el plan | Una plataforma cada vez, sin caché, se ignoran las versiones de herramientas de eas.json, variables secretas que definir en local | Ninguna configuración compartida en el equipo |
Una regla sencilla: quédate en la nube mientras no tengas un Mac, mientras varias personas compilen la app o mientras la cuota gratuita cubra tu mes. Pasa a builds locales cuando iteres sobre código nativo muchas veces al día en un Mac, cuando la política de la empresa prohíba servidores de build de terceros, o para reproducir en tu máquina un fallo ocurrido en la nube, que es precisamente el uso que Expo propone para --local. La documentación de los builds locales recoge las limitaciones actuales.
Del build a la tienda, con o sin Cadrant
Una vez listo el binario, EAS Submit se encarga de la subida. En Android envía el .aab a un canal de Play (prueba interna, alfa, beta o producción), e incluso puede crear la primera versión de una app totalmente nueva en el canal de prueba interna. En iOS envía el .ipa a App Store Connect, donde aparece en TestFlight tras el procesamiento; la ficha de la tienda y el envío a revisión siguen siendo manuales. El resto del recorrido hasta la tienda, desde la cuenta de desarrollador hasta la revisión, está en nuestra guía para publicar una app en Google Play.
Con el creador de apps móviles de Cadrant, nunca escribes un eas.json ni un comando de build, pero quien compila sigue siendo EAS Build, en tu propia cuenta de Expo. Conectas esa cuenta una sola vez en Integraciones, y cada publicación usa tu cuota gratuita de EAS de 15 builds de Android y 15 de iOS al mes. En Android, Cadrant genera y guarda el keystore de subida, y Expo envía el app bundle a tu Play Console como versión en borrador en el canal de prueba interna. En iOS, un inicio de sesión guiado con Apple crea la app en App Store Connect y aprovisiona el certificado de distribución, y después Expo envía el binario a tu cuenta. Las cuentas, la cuota y las apps siguen siendo tuyas.