Back

Primeros Pasos con Expo: Una Forma Más Rápida de Crear Apps con React Native

Primeros Pasos con Expo: Una Forma Más Rápida de Crear Apps con React Native

Si eres un desarrollador de JavaScript que quiere crear aplicaciones móviles sin tener que lidiar con Xcode o Android Studio, estás en el lugar correcto. React Native te permite crear apps multiplataforma con JavaScript, pero la configuración inicial puede ser desalentadora. Ahí es donde entra Expo—elimina la complejidad y te permite empezar a construir inmediatamente.

Puntos Clave

  • Expo elimina los requisitos de configuración nativa para el desarrollo con React Native
  • Crea, prueba y despliega apps sin Xcode o Android Studio
  • Expo Go permite pruebas instantáneas en dispositivos físicos mediante códigos QR
  • EAS Build gestiona las compilaciones de producción y el despliegue en las tiendas de aplicaciones en la nube

¿Qué es Expo y Por Qué Deberías Usarlo?

Expo es un framework y plataforma construida sobre React Native que se encarga de las partes más complicadas del desarrollo móvil. Piensa en ello como React Native con baterías incluidas. Tú escribes JavaScript, y Expo se encarga de la configuración nativa, el proceso de compilación y las APIs del dispositivo.

Esto es lo que hace a Expo particularmente útil:

  • No requiere configuración nativa: Olvídate de instalar Xcode, Android Studio o configurar herramientas de compilación
  • Pruebas instantáneas: Previsualiza cambios en tu teléfono en segundos usando Expo Go
  • Flujo de trabajo gestionado: Expo maneja certificados, firma de apps y configuración de compilación
  • APIs integradas: Accede a cámara, ubicación, notificaciones y más sin código nativo
  • Multiplataforma por defecto: Un solo código base funciona en iOS, Android y web

Creando Tu Primera App con Expo usando create-expo-app

Iniciar un nuevo proyecto de React Native con Expo requiere solo un comando. Abre tu terminal y ejecuta:

npx create-expo-app my-app
cd my-app
npx expo start

Eso es todo. Sin instalaciones globales, sin configuración compleja. El comando create-expo-app configura todo lo que necesitas: estructura del proyecto, dependencias y archivos de configuración.

Cuando ejecutas npx expo start, verás un código QR en tu terminal. Aquí es donde ocurre la magia.

El Ciclo de Desarrollo: Codifica, Guarda y Ve los Cambios al Instante

Probando con Expo Go

Descarga la app Expo Go en tu dispositivo iOS o Android. Escanea el código QR desde tu terminal, y tu app se carga instantáneamente en tu teléfono. Sin cables USB, sin proceso de compilación.

Haz un cambio en tu código:

// App.js
import { Text, View } from 'react-native';

export default function App() {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text style={{ fontSize: 24 }}>Hello, Expo!</Text>
    </View>
  );
}

Guarda el archivo, y tu teléfono se actualiza inmediatamente. Este ciclo de recarga en caliente hace que el desarrollo con React Native se sienta como el desarrollo web—rápido e iterativo.

Cuando Necesitas Más: Development Builds

Expo Go cubre la mayoría de las necesidades de desarrollo, pero a veces necesitas código nativo personalizado o módulos nativos específicos. Es entonces cuando creas un development build—esencialmente una versión personalizada de Expo Go adaptada a tu app.

npx expo install expo-dev-client
npx expo run:ios  # or run:android

Los development builds te dan la flexibilidad de React Native puro con la comodidad de las herramientas de Expo.

Compilando y Desplegando con EAS Build

Cuando estés listo para publicar, EAS Build maneja el complejo proceso de compilación en la nube. No necesitas mantener entornos de compilación ni lidiar con certificados manualmente.

Configurando EAS Build

Primero, instala el EAS CLI:

npm install -g eas-cli
eas login

Configura tu proyecto para la compilación:

eas build:configure

Creando Compilaciones de Producción

Compila para iOS o Android con un solo comando:

eas build --platform ios
eas build --platform android

EAS Build se encarga de:

  • Firma de código y certificados
  • Dependencias nativas
  • Optimización de compilación
  • Distribución a las tiendas de aplicaciones

Las compilaciones se ejecutan en los servidores de Expo, así que no necesitas una Mac para compilar apps de iOS. Cuando se completan, obtienes un enlace de descarga para el binario de tu app o una presentación directa a las tiendas de aplicaciones.

El Flujo de Trabajo Completo de Expo

Así es como todo encaja:

  1. Inicializar: Usa create-expo-app para comenzar tu proyecto
  2. Desarrollar: Escribe JavaScript, prueba instantáneamente con Expo Go
  3. Iterar: La recarga en caliente muestra los cambios inmediatamente
  4. Compilar: Usa EAS Build cuando estés listo para producción
  5. Desplegar: Envía directamente a las tiendas de aplicaciones o distribuye internamente
  6. Actualizar: Envía actualizaciones de JavaScript por aire sin revisión de la tienda de aplicaciones

Este flujo de trabajo elimina los puntos de dolor tradicionales del desarrollo con React Native. Se acabaron los problemas de “funciona en mi máquina”, los dolores de cabeza con certificados y los problemas de compilación específicos de cada plataforma.

Conclusión

Expo transforma el desarrollo con React Native de un proceso complejo y específico de cada plataforma en algo tan sencillo como el desarrollo web. Con create-expo-app, estás escribiendo y probando código en minutos, no en horas. Con Expo Go, estás iterando a velocidades de desarrollo web. Y con EAS Build, estás desplegando sin la sobrecarga tradicional del desarrollo móvil.

Si has dudado sobre el desarrollo móvil debido a la complejidad de la configuración, Expo elimina esa barrera. Comienza con npx create-expo-app, y tendrás una app funcionando en tu teléfono antes de que tu café se enfríe.

Preguntas Frecuentes

Sí, puedes agregar Expo a proyectos de React Native existentes usando los módulos de Expo. Ejecuta npx install-expo-modules en el directorio de tu proyecto para integrar las APIs y herramientas de desarrollo de Expo mientras mantienes tu configuración actual.

Expo Go incluye un conjunto fijo de módulos nativos y no puede ejecutar código nativo personalizado. Si necesitas bibliotecas nativas específicas o módulos personalizados, crea un development build en su lugar, que proporciona flexibilidad completa mientras mantiene la experiencia de desarrollo de Expo.

EAS Build ofrece un nivel gratuito con minutos de compilación limitados por mes. Los planes de pago comienzan en $29 por mes para individuos y escalan según la frecuencia de compilación y el tamaño del equipo. También puedes compilar localmente de forma gratuita usando los comandos expo run.

Sí, puedes hacer prebuild de tu proyecto Expo para generar directorios nativos de iOS y Android, dándote control completo sobre el código nativo. Esto mantiene las bibliotecas de Expo mientras permite modificaciones nativas directas cuando sea necesario.

Gain Debugging Superpowers

Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay