Opciones de Configuracion
Hay dos formas principales de comenzar un proyecto React Native: Expo (recomendado para principiantes) y React Native CLI (para mas control).
Expo vs React Native CLI
| Caracteristica | Expo | React Native CLI |
|---|---|---|
| Configuracion | Facil - sin Xcode/Android Studio | Compleja - requiere IDEs nativos |
| Codigo Nativo | Limitado (con EAS Build) | Acceso completo |
| Tamano de App | Mas grande | Optimizado |
| Mejor para | Aprendizaje, prototipos, apps simples | Apps de produccion, modulos nativos personalizados |
Comenzando con Expo
# Instalar Expo CLI globalmente
npm install -g expo-cli
# Crear nuevo proyecto
npx create-expo-app MiApp
cd MiApp
# Iniciar servidor de desarrollo
npx expo start
# Escanea el codigo QR con la app Expo Go en tu telefono
# O presiona 'i' para iOS simulator, 'a' para Android emulator
Comenzando con React Native CLI
# Requiere: Node, Watchman, Xcode (Mac), Android Studio
# Crear nuevo proyecto
npx react-native@latest init MiApp
cd MiApp
# Ejecutar en iOS (solo Mac)
npx react-native run-ios
# Ejecutar en Android
npx react-native run-android
Estructura del Proyecto
MiApp/
├── App.js # Componente raiz de la app
├── app.json # Configuracion de la app
├── package.json # Dependencias
├── babel.config.js # Configuracion de Babel
├── metro.config.js # Configuracion del bundler Metro
├── src/ # Tu codigo fuente
│ ├── components/ # Componentes reutilizables
│ ├── screens/ # Componentes de pantalla/pagina
│ ├── navigation/ # Configuracion de navegacion
│ ├── hooks/ # Hooks personalizados
│ ├── services/ # Llamadas a API, etc.
│ ├── utils/ # Funciones de utilidad
│ └── constants/ # Constantes de la app
├── assets/ # Imagenes, fuentes, etc.
├── ios/ # Codigo nativo iOS (solo CLI)
└── android/ # Codigo nativo Android (solo CLI)
Configuracion de app.json
{
"expo": {
"name": "Mi App",
"slug": "mi-app",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"ios": {
"bundleIdentifier": "com.miempresa.miapp",
"supportsTablet": true
},
"android": {
"package": "com.miempresa.miapp",
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#FFFFFF"
}
}
}
}
Consejos para Empezar
- Comienza con Expo - es mas facil y puedes "eject" despues si lo necesitas
- Usa la app Expo Go para probar en tu dispositivo real
- Habilita el modo desarrollador en tu telefono Android
- El Hot Reload actualiza los cambios instantaneamente