Saltar a contenido

Mobile Developer - Guía de Entorno

Esta guía detalla las herramientas necesarias para que Claude Code pueda ayudarte eficazmente en el desarrollo de aplicaciones móviles.

Resumen de Capacidades

Capacidad Herramientas Requeridas
iOS Development Xcode, CocoaPods, Swift
Android Development Android Studio, Gradle, Kotlin
Cross-platform Flutter, React Native
Testing XCTest, Espresso, Detox
Debugging Flipper, React Native Debugger

iOS Development

Requisitos

Solo macOS

El desarrollo iOS nativo requiere macOS y Xcode.

Xcode

# Instalar desde App Store o CLI
xcode-select --install

# Aceptar licencia
sudo xcodebuild -license accept

# Verificar
xcodebuild -version

# Instalar simuladores adicionales
xcrun simctl list devices

CocoaPods

# Instalar
sudo gem install cocoapods

# O con Homebrew
brew install cocoapods

# Verificar
pod --version

# Comandos comunes
pod init
pod install
pod update
pod deintegrate  # Eliminar pods

Swift Package Manager

# Integrado en Xcode/Swift
swift package init
swift build
swift test
swift package update

Fastlane (CI/CD)

# Instalar
brew install fastlane

# Inicializar en proyecto
fastlane init

# Comandos comunes
fastlane ios beta
fastlane ios release
fastlane match  # Gestión de certificados

Android Development

Android Studio

# Windows
winget install Google.AndroidStudio

# macOS
brew install --cask android-studio

# Linux
sudo snap install android-studio --classic

# Después de instalar, configurar SDK via GUI

Command Line Tools

# Instalar SDK Command-line Tools desde Android Studio
# O descarga directa: https://developer.android.com/studio#command-tools

# Variables de entorno (añadir a .bashrc/.zshrc)
export ANDROID_HOME=$HOME/Android/Sdk  # Linux
export ANDROID_HOME=$HOME/Library/Android/sdk  # macOS
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin

# Verificar
adb --version
sdkmanager --version

ADB (Android Debug Bridge)

# Dispositivos conectados
adb devices

# Instalar APK
adb install app.apk

# Logs
adb logcat
adb logcat -s MyApp  # Filtrar por tag

# Shell
adb shell
adb shell pm list packages

# Captura de pantalla
adb exec-out screencap -p > screen.png

# Grabar pantalla
adb shell screenrecord /sdcard/video.mp4

Gradle

# Incluido con Android Studio, o instalar:
sdk install gradle  # SDKMAN

# Comandos comunes
./gradlew build
./gradlew assembleDebug
./gradlew assembleRelease
./gradlew test
./gradlew connectedAndroidTest
./gradlew clean
./gradlew dependencies

Emuladores

# Listar AVDs
emulator -list-avds

# Ejecutar emulador
emulator -avd Pixel_6_API_34

# Crear AVD via CLI
avdmanager create avd -n "Pixel_6_API_34" -k "system-images;android-34;google_apis;x86_64" -d "pixel_6"

# scrcpy - Mirror de dispositivo Android
brew install scrcpy  # macOS
winget install Genymobile.scrcpy  # Windows
scrcpy  # Ejecutar

Flutter (Cross-platform - Recomendado)

Instalación

# macOS
brew install --cask flutter

# Windows
winget install Google.Flutter

# Linux
sudo snap install flutter --classic

# Verificar instalación
flutter doctor

# Aceptar licencias
flutter doctor --android-licenses

Comandos Comunes

# Crear proyecto
flutter create my_app

# Ejecutar
flutter run
flutter run -d chrome  # Web
flutter run -d macos   # macOS desktop

# Build
flutter build apk
flutter build appbundle  # Play Store
flutter build ios
flutter build web

# Testing
flutter test
flutter test integration_test/

# Dependencias
flutter pub get
flutter pub upgrade
flutter pub outdated

# Generar código (build_runner)
flutter pub run build_runner build
flutter pub run build_runner watch

# Análisis
flutter analyze
flutter format .

FVM (Flutter Version Manager)

# Instalar
dart pub global activate fvm

# Instalar versión de Flutter
fvm install 3.16.0
fvm use 3.16.0
fvm global 3.16.0

# En proyecto
fvm use 3.16.0  # Crea .fvm/fvm_config.json

React Native

Requisitos

# Node.js (ver guía backend/nodejs.md)
node --version  # 18+

# Watchman (macOS)
brew install watchman

# Java 17 (para Android)
sdk install java 17.0.10-tem

CLI

# Crear proyecto con CLI
npx react-native@latest init MyApp

# O con Expo (recomendado para empezar)
npx create-expo-app@latest my-app

Expo (Recomendado)

# Crear proyecto
npx create-expo-app@latest my-app

# Ejecutar
cd my-app
npx expo start

# En dispositivo físico: Expo Go app
# O con desarrollo local:
npx expo run:ios
npx expo run:android

# Build para producción
npx expo build:android
npx expo build:ios

# EAS Build (nuevo)
npm install -g eas-cli
eas build -p android
eas build -p ios

React Native CLI

# Ejecutar
npx react-native run-android
npx react-native run-ios

# Build
cd android && ./gradlew assembleRelease
cd ios && xcodebuild -workspace MyApp.xcworkspace -scheme MyApp

# Metro bundler
npx react-native start
npx react-native start --reset-cache

# Linking nativo (si es necesario)
npx react-native link

Debugging

# Flipper (Facebook debugger)
brew install --cask flipper

# React Native Debugger
brew install --cask react-native-debugger

# Chrome DevTools
# Shake device > Debug with Chrome

Testing

iOS (XCTest)

# Ejecutar tests
xcodebuild test -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 15'

# Via Fastlane
fastlane scan

Android (Espresso/JUnit)

# Unit tests
./gradlew test

# Instrumented tests (emulador/dispositivo)
./gradlew connectedAndroidTest

# Tests específicos
./gradlew testDebugUnitTest --tests "com.example.MyTest"

Flutter

# Unit/Widget tests
flutter test

# Integration tests
flutter test integration_test/

# Cobertura
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html

React Native (Jest + Detox)

# Jest (unit tests)
npm test

# Detox (E2E)
npm install -g detox-cli
detox init
detox build -c android.emu.debug
detox test -c android.emu.debug

IDE y Extensiones

Visual Studio Code

# Flutter
code --install-extension Dart-Code.flutter
code --install-extension Dart-Code.dart-code

# React Native
code --install-extension msjsdiag.vscode-react-native
code --install-extension dsznajder.es7-react-js-snippets

# General
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint

Android Studio Plugins

  • Flutter (si usas Flutter)
  • Kotlin
  • ADB Idea
  • JSON To Kotlin Class

Xcode Extensions

  • SwiftLint (via build phase)
  • SwiftFormat

Comandos que Claude Code Ejecutará

# Flutter
flutter create my_app
flutter run
flutter build apk
flutter test
flutter pub get

# React Native / Expo
npx expo start
npx expo run:ios
npx react-native run-android
npm test

# iOS
pod install
xcodebuild build
fastlane ios beta

# Android
./gradlew assembleDebug
./gradlew test
adb install app.apk
adb logcat

Verificación del Entorno

#!/bin/bash
echo "=== Verificación Entorno Mobile ==="

echo -e "\n--- Flutter ---"
flutter --version 2>/dev/null || echo "Flutter no instalado"
flutter doctor 2>/dev/null | head -20

echo -e "\n--- React Native ---"
npx react-native --version 2>/dev/null || echo "React Native CLI no instalado"

echo -e "\n--- Android ---"
adb --version 2>/dev/null || echo "ADB no instalado"
echo "ANDROID_HOME: $ANDROID_HOME"

echo -e "\n--- iOS (solo macOS) ---"
xcodebuild -version 2>/dev/null || echo "Xcode no instalado"
pod --version 2>/dev/null || echo "CocoaPods no instalado"

echo -e "\n=== Verificación Completa ==="

Recursos