← Todas las charlas Charla · EN

When Clean Architecture met Kotlin. A Love Story. Vol. 2

Segunda parte de la charla sobre cómo Kotlin potencia Clean Architecture, esta vez con Functional Programming.

23 de mayo de 2018

![[06-attachments/talks/2018-05-23-when-clean-architecture-met-kotlin-a-love-story-vol-2/2018-05-23-when-clean-architecture-met-kotlin-vol2.png]]

Después del primer encuentro entre Kotlin y Clean Architecture, era inevitable una secuela. Y esta vez, el invitado especial fue la programación funcional.

En esta charla, presentada en 2018, profundizamos en cómo Kotlin no solo encaja con los principios de Clean Architecture, sino que puede amplificarlos a través de técnicas funcionales modernas.

De la orientación a objetos a la programación funcional

Kotlin nos abre la puerta a paradigmas que antes eran engorrosos en Java:

  • Funciones de alto orden
  • Composición funcional
  • Expresividad sin boilerplate
  • Inmutabilidad por defecto
  • Pattern Matching (con sealed class)

Todo esto nos permite diseñar código más predecible, testeable y modular.

¿Qué exploramos en esta charla?

  • Cuándo usar programación funcional en una arquitectura limpia
  • Manejo de errores con Either, Result y sealed classes
  • Cómo aplicar map, flatMap, fold en flujos de datos
  • Pureza y testabilidad: cómo afecta al diseño de casos de uso
  • Separación de efectos secundarios sin frameworks mágicos

Casos reales en Android

Mostramos ejemplos concretos sobre:

  • Validación de formularios con composición de funciones
  • Interacción con APIs de red usando tipos funcionales
  • Manejo de errores sin excepciones

Key Takeaways

  1. Kotlin y Clean Architecture no solo se llevan bien, se potencian.
  2. La programación funcional permite una arquitectura aún más limpia.
  3. Reducir efectos secundarios mejora la mantenibilidad del sistema.
  4. Componer funciones es más poderoso (y simple) de lo que parece.
  5. No hace falta volverse 100% funcional: aplicá lo que más valor aporta.

Recursos recomendados

Conclusión

Clean Architecture no es un destino, es una dirección. Y si en ese camino sumás las herramientas de la programación funcional, vas a encontrar nuevas formas de construir software más robusto, claro y elegante.