Juanrobilara.

Climapp: Patrones de Diseño Modernos y Estrategia Offline-First

Formas de aprender: Una App de Clima

A menudo se subestiman las aplicaciones sencillas, pero Climapp fue mi primer aplicación con la que me empecé a sentir desarrollador. Y es que muchas veces uno se queda en la teoría, pero a la hora de implementar la práctica la cosa cambia.

Todos sabemos que está repleto de aplicaciones que mastican lo que trae una API, pero, ¿cómo pódemos hacer esos datos persistentes? ¿qué podemos hacer para desacoplar el código, volviendolo más mantenible? Y es que acá fue cuando me enamoré del desarrollo móvil.

Sin más emotividades, continuamos.

Stack Tecnológico

  • Networking: Retrofit para consumir APIs REST, mapeando WeatherResponse y CityResponse. Además, consumí la API de MapTiler para "pintar" MapLibre.
  • Inyección de Dependencias: Hilt para proveer módulos de red y base de datos, desacoplando la lógica de negocio de la implementación.
  • Concurrencia: Kotlin Coroutines y Flow para un manejo asíncrono reactivo y eficiente.
  • Estrategia Offline-First con Patrón Repositorio.
  1. Cuando el usuario busca una ciudad, la app consulta a la API.
  2. Al obtener respuesta, guarda/actualiza los datos en la base de datos local.
  3. La UI observa la base de datos mediante StateFlow.

Esto garantiza que si el usuario abre la app sin internet, verá instantáneamente los últimos datos conocidos (cache), en vez de un error de conexión.