Cómo Crear una App de Clima en Tiempo Real con React y OpenWeather API

Cómo Crear una App de Clima en Tiempo Real con React y OpenWeather API

Tutorial paso a paso para crear una app de clima en tiempo real con React y la API de OpenWeather

En este tutorial aprenderás cómo construir una aplicación web de clima en tiempo real utilizando React para el frontend y la API de OpenWeather para obtener datos meteorológicos actualizados. Este proyecto es ideal para desarrolladores principiantes e intermedios interesados en el desarrollo frontend con React y el consumo de APIs REST.

Tabla de contenidos


Introducción

La aplicación mostrará el clima actual de una ciudad que el usuario podrá ingresar. Usaremos React para crear una interfaz limpia y dinámica, y consumiremos la OpenWeather API para obtener la información meteorológica. A lo largo del tutorial, aprenderás a:

  • Configurar un proyecto React desde cero.
  • Crear y organizar componentes funcionales.
  • Realizar solicitudes HTTP con fetch.
  • Manejar datos con Hooks: useState y useEffect.
  • Mostrar la información de manera intuitiva.
  • Desplegar la aplicación para acceso público.

¡Manos a la obra!


1. Configuración del entorno React

Requisitos previos

  • Tener instalado Node.js (versión 14 o superior recomendada).
  • Tener un editor de código (por ejemplo, Visual Studio Code).

Paso 1: Crear el proyecto React

Ejecuta el siguiente comando en terminal para crear una nueva app React usando create-react-app:

Esto iniciará el servidor de desarrollo y abrirá tu navegador en http://localhost:3000 con la plantilla básica.

Tips: Puedes usar yarn en lugar de npm si prefieres.

Paso 2: Limpiar el proyecto

Elimina los archivos y contenido innecesarios para partir con una base limpia. Borra de src/ los archivos: App.test.js, logo.svg, reportWebVitals.js, setupTests.js.

Modifica src/App.js para que quede así:

Con esto tienes un entorno listo para seguir desarrollando.


2. Creación de componentes funcionales

Vamos a construir dos componentes principales:

  • Search: para ingresar el nombre de la ciudad.
  • WeatherDisplay: para mostrar los datos climáticos.

Paso 1: Crear componente Search

Crea un archivo nuevo src/components/Search.js:

Explicación: usamos estado local para controlar el input y enviamos el valor al padre mediante la función onSearch.

Paso 2: Crear componente WeatherDisplay

Crea src/components/WeatherDisplay.js:

Este componente recibe los datos de clima y muestra información básica.


3. Consumo de la API REST de OpenWeather

Para obtener datos reales, registraremos una cuenta gratuita en OpenWeather y usaremos su API.

Paso 1: Obtener API Key

Paso 2: Crear función para llamada API

En src/ crea un archivo api.js:

Aquí definimos la función fetchWeather que consulta la API con la ciudad indicada, usando unidades en Celsius y lenguaje español.


4. Manejo de estados y efectos con Hooks

Vamos ahora a conectar todo en App.js para manejar el ciclo completo de búsqueda y despliegue.

Explicación paso a paso

  1. Estados usados:
  • weather: guarda los datos del clima.
  • error: para mostrar mensajes si la ciudad no se encuentra o falla la API.
  • loading: para informar que la consulta está en proceso.
  1. La función handleSearch recibe la ciudad desde el componente Search y llama a fetchWeather.
  2. Se actualizan los estados de forma adecuada según el éxito o error de la llamada.
  3. Se renderizan mensajes condicionales.

5. Presentación de datos climáticos

Para mejorar la experiencia visual, podemos agregar un poco de estilo CSS básico.

Paso 1: Agregar estilos globales

En src/App.css sobrescribe con:

No olvides importar el CSS en App.js:

Paso 2: Opcional – Mostrar iconos del clima

La API también devuelve weather[0].icon, un código que podemos usar para mostrar un ícono.

Modifica WeatherDisplay.js para incluir la imagen:


6. Despliegue básico

Una vez terminada tu app, puedes desplegarla fácilmente usando GitHub Pages, Netlify, o Vercel.

Despliegue con GitHub Pages (opcional)

  1. Instala el paquete:

  1. En package.json, añade estas líneas:

  1. Ejecuta

  1. Tu app estará disponible en la URL indicada.

Para otros servicios como Netlify o Vercel, simplemente sube el repositorio y ellos detectarán automáticamente la app React.


Conclusión y buenas prácticas

En este tutorial has aprendido a crear una app clima en tiempo real con React y OpenWeather API desde cero. Al seguir estos pasos, no solo construiste una aplicación funcional sino que también practicaste:

  • Configuración del entorno React.
  • Creación de componentes funcionales altamente reutilizables.
  • Consumo de APIs RESTful con manejo adecuado de estados y errores.
  • Uso efectivo de Hooks (useState, useEffect).
  • Presentación clara y atractiva de datos dinámicos.
  • Opciones para el despliegue básico.

Buenas prácticas recomendadas:

  • No exponer la API Key en el frontend para producción (usar variables de entorno y backend).
  • Manejar posibles errores y estados de carga para mejor UX.
  • Diseñar una interfaz responsive y accesible.
  • Usar librerías como axios para un mejor manejo de solicitudes si la app crece.

Próximos pasos sugeridos

  • Implementar búsqueda con autocompletado.
  • Agregar pronósticos extendidos.
  • Incorporar localización automática por GPS.

Si te gustó este tutorial, no olvides compartir y seguir explorando el mundo del desarrollo frontend React con APIs en tiempo real.

¡Feliz codificación!