Lección 14 de 20 · Lectura y práctica
Práctica: Desarrolla una app de clima con API y geolocalización
Tipo de lección: VideoPráctica: Desarrolla una app de clima con API y geolocalización Esta leccion pertenece al curso React Native con Expo: Desarrollo de Apps Nativas para iOS y Android y esta pensada para que avances con.
Del concepto a la práctica
Taller de esta lección
La práctica combina dos entradas y dos posibles fallos: coordenadas del dispositivo y respuesta meteorológica. Para mantenerla reproducible, usa una respuesta simulada para las coordenadas de Madrid, latitud 40.4168 y longitud -3.7038, y separa esa fase de la consulta de clima.
Ejemplo resuelto
Solicita permiso y guarda las coordenadas solo si existe autorización.
Construye la consulta con latitud y longitud numéricas.
Muestra carga mientras llega la respuesta.
Presenta temperatura y ciudad, o un error con reintento. Un error frecuente es mostrar Madrid cuando el permiso fue rechazado y hacer creer que es la ubicación real. Corrígelo etiquetando la ubicación simulada o permitiendo selección manual.
Pruébalo
Usa la entrada Madrid y una respuesta { temp: 18, condition: 'Nublado' }; después simula un fallo de red.
Comprueba tu resultado
La pantalla debe mostrar 18 y Nublado en el caso exitoso, indicar que la ubicación es Madrid simulada y ofrecer reintento en el fallo.
Clima con fixtures completos
La consulta manual de prueba no necesita GPS. Las coordenadas siguientes pertenecen al fixture Madrid, no al usuario, y la respuesta no es meteorología actual.
async function clima(coords,modo='ok'){
if(!Number.isFinite(coords?.latitude)||!Number.isFinite(coords?.longitude)||coords.latitude< -90||coords.latitude>90||coords.longitude< -180||coords.longitude>180) throw new Error('Coordenadas inválidas');
if(modo==='red') throw new Error('Red simulada');
if(coords.latitude!==40.4168||coords.longitude!== -3.7038) throw new Error('Fixture de ciudad no disponible');
return {city:'Madrid simulada',temp:18,condition:'Nublado'};
}Con Madrid y ok devuelve18/Nublado; red falla; latitude:null falla validación. Si el permiso se deniega, ofrece elegir Madrid manualmente y etiqueta Madrid simulada. Ninguna rama denegada convierte el fixture en ubicación real. Ambos caminos de petición finalizan loading y conservan un botón accionable tras error.
La elección nueva debe invalidar la consulta anterior. Puedes limpiar datos al iniciar o mostrar Último dato:Madrid mientras otro lugar falla, pero no mostrar18 como la temperatura de ese otro lugar. Para un proveedor real verifica HTTP y esquema, unidades de temperatura y configuración de endpoint; una clave privada necesita servicio autorizado fuera del bundle. Capturar latitud/longitud no aporta por sí mismo temperatura ni precisión meteorológica.

Mapa de prácticaDistingue carga, éxito con datos, respuesta vacía y error. Conserva una salida clara mediante reintento y evita mostrar una respuesta antigua como si correspondiera a la consulta vigente.
Ver la infografía en tamaño completo ↗Tipo de lección: Video
Práctica: Desarrolla una app de clima con API y geolocalización
Esta leccion pertenece al curso React Native con Expo: Desarrollo de Apps Nativas para iOS y Android y esta pensada para que avances con criterio profesional, no solo con teoria. Primero entiende el concepto, despues aplicalo en una situacion concreta y finalmente deja evidencia de lo que aprendiste.
Objetivo practico
Al terminar, deberias poder explicar el tema con tus palabras, reconocer cuando usarlo y construir una version simple que sirva como base para un proyecto real.
Pasos recomendados
- Lee el concepto y escribi una definicion breve.
- Identifica un caso de uso laboral donde aparezca este problema.
- Construye un ejemplo pequeno y documenta las decisiones.
- Compara tu resultado con el checklist de la leccion.
Sigue con React Native con Expo: Desarrollo de Apps Nativas para iOS y Android
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.