anncode

[Android Native, Kotlin, Geek & Teacher]

🧼 Clean Architecture en Android Jetpack Compose 0 (0)

Jetpack Compose definitivamente is the new cool en Android, todos queremos aprender, todos queremos construir UI ya pero, a medida que metemos mano y conocemos este Toolkit podríamos caer en mucho desorden sin darnos cuenta. Haciendo que nuestras aplicaciones tengan código difícil de leer y entender para hacerlas escalar.

Por eso en esta clase hice una iteración de cómo podrías orgranizar un Proyecto de Android que utilice Jetpack Compose, siguiendo las capas de Clean Architecture:

  • Data
  • Domain
  • Presentation

El Core de Jetpack Compose por supuesto es Presentation debemos cuidar que los asuntos de UI se conserven aquí.

Aún en la capa de Presentation podemos hacer una organización de Composables interezante que nos eviten el código espagueti y nos permitan trabajar mejor en equipo.

Te dejo los slides y el código para que nunca se te olvide.

Creo que Jetpack Compose es el futuro que se está haciendo presente muy rápido, la mejor noticia es que ya tenemos release lo que significa que puedes usarlo en Producción.

Ya lo probaste?

Si te gustó esta clase no olvides compartirla haces un excelente trabajo divulgando conocimiento ⚡

👩‍🏫 Android MVVM Clean Architecture + Dagger Hilt 5 (2)

Dagger Hilt es el framework de Inyección de Dependencias que nos ayuda a:

  • Reutilización
  • Centralización
  • Manejo de Ciclo de vida de objetos

Mira la clase para implementarlo usando una Architectura MVVM Clean 👇

Te dejo los slides para que nunca se te olvide.

Dagger Hilt me encanta, y la mejor noticia es que ya tenemos release.

Ya lo probaste?

Si te gustó esta clase no olvides compartirla haces un excelente trabajo divulgando conocimiento ⚡

🎧 Programa bien, programa Clean Code {Podcast} 5 (4)

Clean code es tu gesto de empatía como autor de software para el programador que vendrá a leerte. En este podcast te cuento un resúmen del libro Clean Code de Robert C. Martín mejor conocído como el Tío Bob.

Trae tu bebida favorita y platiquemos un rato.

🌱 Clean Architecture desde cero 5 (5)

¿Qué es Clean Architecture?

Aquí hay dos palabras muy importantes en juego

  1. Clean
  2. Architecture

✨ Clean

El arte de limpiar.

Clean literalmente traducido significa Limpio y tener algo limpio está totalmente relacionado con que esté ordenado. (aunque no es directamente proporcional pero definitivamente están relacionados)

Ordenar, poner cada cosa en su lugar.

Tu ropa tiene un lugar, las llaves de tu casa tienen un lugar, el cargador de tu celular tiene un lugar, y en medida que respetemos esto, nos traerá una multitud de beneficios.

😉 Encontrar tus llaves y/o cargador nunca más será un problema si todo tiene un órden.

I know that feel bro | Wiki Memes Pedia | Fandom

Además traer más ropa a tu closet será mucho más sencillo de integrar si está correctamente ordenada.

En realidad relacionar el termino Clean del software con Órden me gusta mucho porque genera mucho valor. Así como los ejemplos que acabamos de ver parecen hacer tu vida más fácil, aplicar Clean a tus proyectos de software hace más fácil:

  1. Detectar y Resolver Bugs.
  2. Integrar nuevas características a tus proyectos.
  3. Optimizar tu equipo de desarrollo.

Si como programador pasas la mayor parte de tu tiempo leyendo código, desde luego vas a querer que todo lo que esté ahí sea lo más legible y ordenado posible. Esta es la escencia del uso de la palabra Clean en el Software.

Aplicar Clean a tus proyectos te llevará a hacer lo siguiente:

  1. Delegar responsabilidades – Ordenar.
  2. Ordenar nos llevará a separar y categorizar mejor.
Decluttering Queen Marie Kondo Is Now Selling Tiny Boxes – SheKnows

3. El deseo de tener legibilidad nos hará colocar estándares para escribir código que nos permitan leer mejor y más rápido. Por ejemplo: Usar nombres que se puedan buscar y que sean habituales al negocio, evitar anidamiento excesivo, evitar clases muy largas, etc.

Robert C. Martín es el defensor del termino Clean, más o menos es el Marie Kondo del software.

Gracias a la influencia del Tío Bob, hoy sabemos que podemos aplicar Clean a tres cosas:

  1. Code Clean Code
  2. Architecture Clean Architecture
  3. Agile Clean Agile

Este capítulo habla especialmente sobre Clean Architecture y quiero centrarme meramente en ello. Escucha mi Podcast sobre 🎧 Clean Code Aquí

Pero ¿cómo podemos tener nuestro proyecto lo más Clean / Ordenado posible? Acompañame a ver el siguiente concepto.

👷‍♀️ Architecture

Arte y técnica de diseñar, proyectar y construir

Wikipedia

Literalmente el concepto de Arquitectura aplicado en la Construcción, el Diseño y el Arte, puede ser aplicado de la misma forma en el software.

Aplicar una arquitectura le da un sentido de proyección hacía el futuro a nuestros proyectos y aplicaciones.

Las preguntas serían: ¿Por qué quiero hacer esto? ¿Por qué es importante proyectar mi código? No debería enfocarme en que el código funcione? ¿Qué significa proyectar mi código hacia el futuro?

Como programadores tenemos dos trabajos:

  1. Hacer que el código funcione ✅
  2. Proyectarlo al futuro: hacerlo mantenible 🌠
    (déjame en los comentarios si conoces una mejor palabra para describir esto)

Seguro pensabas que tu única responsabilidad era la número 1. no te preocupes antes yo también lo creía, lo importante es que estamos aprendiendo juntos.

Proyectar el código hacía el futuro es darle una estructura, es dárle el órden (Clean 😎) que se merece, para que implementar nuevas cosas y resolver bug’s sea lo más sencillo posible y con la menor cantidad de desarrolladores posibles.

Existen algunos modelos que nos ayudan a ordenar la estructura de nuestro código en Capas tal vez has escuchado el Modelo de Capas o Layers Model. Estos pueden ir desde tener una sola capa donde se concentre todo el código (por supuesto, nada clean/ordenado que proyecte nuestro código al futuro), hasta tener N capas.

Tío Bob nos recomienda estructurar / ordenar nuestro proyecto en 3 capas principales.

  1. Presentation: Interface de Usuario UI.
  2. Domain: Todas las reglas de negocio, también se llama business logic en inglés.
  3. Data: Todo lo que tega que ver con la persistencia de datos.

En los siguientes capítulos voy a presentarte todos cada uno de ellos a detalle.

👉Clean Architecture es:

La forma de ordenar y proyectar nuestro código hacia el futuro, para que añadir nuevas características y resolver bugs sea lo más simple posible con la menor cantidad de desarrolladores.