🎁Te regalo una guía sobre arquitecturas en Android: 👉 devexperto.com/guia-arquitecturas Si aún no te decides sobre si Kotlin es el lenguaje que deberías aprender, te animo a que te apuntes a mi masterclass gratuita 👉 bit.ly/3eQ2qeY
Muchas gracias por el esfuerzo! Como sugerencia para otro directo, sería muy interesante uno de implementación de MVVM original (Utilizando Data Binding), si lo ves posible. Un saludo!
Muy buen video antonio estaria bien que hagas otro video con otro proyecto mucho mas grande que tengas, para llegar a ver todas las capas mas abstraidas y separadas y su porque.
Gracias por el aporte Antonio. Respecto al pasar a Windows desde Mac, o a Mac desde Windows, y siendo desarrollador Android, no me explico como no trabajas con Linux. :p
Podrías hacerlo un poco mas visual, es decir, usar diagramas UML o algo visual que ayude a poder visualizar como se está construyendo la aplicación, excelente explicación, muchas gracias.
Hola Antonio, saludos desde Argentina. Muy buen video a mi me esta costando el tema de patrones de presentación y de arquitectura asique este video me re ayuda, mil gracias. Me quedo una duda de ver el video y de leer la entrada de clean en tu blog. Si utilizara una librería como Room para persistencia de datos y por ejemplo, quisiera hacer un login, tendría en la capa de dominio el objeto usuario, y en el directorio framework de la capa App donde iria la libreria Room, tendria la entity usuario también para simbolizar la tabla?
Sí, aunque serían entidades diferentes. Normalmente cada capa tiene su propia entidad para no obligar al resto del código a adaptarse la las necesidades de una capa particular. Por ejemplo, si quisieras utilizar la misma entidad para room y para el dominio, esto obligaría a que la capa de dominio conociera room para poder añadir las anotaciones que necesita. O imagina que el servidor te devuelve un usuario con un montón de campos que no necesitas y otros que no tienen la estructura más conveniente para tu App. Lo ideal es convertirlas a un modelo que sea el que tu App realmente necesita.
Hola Antonio, muy buen video, realmente muy interesante. Me surgió una duda que pasaría si se tuviera que llamar a otra activity, usando un startActivity con un intent, estaria en la capa de useCases no ? o seria mas cómodo hacer esa llamada desde el Presenter ?. Saludos
El startActivity como tal deber quedar relegado a la capa del framework, por lo que hay que indicarle la acción a la vista del MVP o MVVM para que lo haga
Antonio, una pregunta , cómo puedo usar un objeto del tipo FirebaseAuth en el módulo domain ? A pesar de que tengo las dependencias del gradle no me permite , solo puedo usarlo en data y presentation
Ni idea de por qué puede ser, te debería funcionar como en cualquier otro módulo. Lo único que no te recomiendo introducir Firebase tan dentro de tu arquitectura. Yo lo dejaría en la capa más externa.
Hola, puede que la pregunta sea algo obvia pero estoy recien empezando en esto de Clean, tu clase Location viene a ser como la clase principal del proyecto, pueden existir mas de una clase en el domain, onda que tu proyecto haga mas de una cosa?
uff que buen vídeo!, me hubiera encantado estar en el live. Actualmente me encuentro usando una arquitectura muy similar pero aun tengo una duda que no logro resolver del todo. En donde se debe plasmar la lógica de negocio, por ejemplo si todas las location que obtienes las tuvieras que ordenar o hacerles un tratamiento especifico definido por el negocio, donde debe de ir? en un use case, presenter o alguna otra capa?
Muchas gracias! Si es lógica de negocio, en la capa de domain pueden estar bien. Como mucho en el use case, pero yo no me lo llevaría hasta el presenter, a no ser que solo sea tema de UI y que dependiendo del dispositivo la visualización sea distinta.
Yo suelo ponerlas en el presente, para que a partir de ese punto no haya que preocuparse por que estemos ejecutando algo en el hilo principal. Sí en algún momento se necesitan peticiones concurrentes, se pueden crear nuevas corrutinas en otras capas.
Te recomiendo que te apuntes a la lista de espera de architectcoders.com , en unas semanas voy a dar una formación gratuita sobre todos estos temas como antesala a la nueva edición del programa
🎁Te regalo una guía sobre arquitecturas en Android:
👉 devexperto.com/guia-arquitecturas
Si aún no te decides sobre si Kotlin es el lenguaje que deberías aprender, te animo a que te apuntes a mi masterclass gratuita 👉 bit.ly/3eQ2qeY
Ta rebueno, alguien que comparte la filosofía de "Uncle Bob". Gracias por compartir.
Probando tu masterclass gratuita.
Gracias!
Neesitaba una explicacion como esta para empezar con el clean arquitecture, Muchas Gracias!!!😍
Muchas gracias por el esfuerzo!
Como sugerencia para otro directo, sería muy interesante uno de implementación de MVVM original (Utilizando Data Binding), si lo ves posible.
Un saludo!
Tomo nota!
@@devexpert_io Coincido que estaría genial!
@@mauromaldini413 lo hice hoy, así que ya lo tienes en el canal!
@@devexpert_io Muchas Gracias!!! ya lo estoy viendo!! muy amable!
Muchas gracias por tu vídeo ojalá tengamos mas
Claro! Cada jueves a las 16:00 (09:00 En Mexico) hay vídeo nuevo.
Este es Oro puro espero poder trabajar algun dia contigo... From Honduras...
Gracias! Me alegro de que te haya servido
@DevExperto Gracias por compartir tus conocimientos y consejos. Siempre me mantengo fanático de la buena gente.
Un saludo.
Gracias!
Muy buen video.Te felicito por lo qué haces Antonio...Muchas gracias
Gracias a ti!
Muchas gracias se ve el esmero por ilustrarnos
Muchas gracias a ti por tu comentario!! Un saludo!
Muy buen video antonio estaria bien que hagas otro video con otro proyecto mucho mas grande que tengas, para llegar a ver todas las capas mas abstraidas y separadas y su porque.
Gracias! Tomo nota de la idea.
Genial Antonio, muchas gracias por tus aportes!
Muchas gracias!
Hola Antonio genial tutorial, retrofit en que capa debería ser implementada "data" o "framework"
Pues hay distintas filosofías, yo personalmente lo pongo en la capa de framework porque me gusta tener ahí todo lo que pertenece "al mundo exterior"
Gracias por el aporte Antonio.
Respecto al pasar a Windows desde Mac, o a Mac desde Windows, y siendo desarrollador Android, no me explico como no trabajas con Linux. :p
Falta de ganas de pegarme con ello 😅
Excelente video, Gracias Antonio!
Gracias por comentar!
Podrías hacerlo un poco mas visual, es decir, usar diagramas UML o algo visual que ayude a poder visualizar como se está construyendo la aplicación, excelente explicación, muchas gracias.
Gracias! Tomo nota. Si buscas otro video que tengo de arquitecturas Android, ahí lo explico a nivel teórico en una pizarra
@@devexpert_io disculpa pero trate de buscar el vídeo que dices y no lo encontré :/ , me podrías decir cual es?
@@LuisRojas-rt6cy aquí está ua-cam.com/video/3vQcVAvwpCw/v-deo.html
@@devexpert_io gracias
Muchas gracias por el video, muy buen contenido.
Gracias!
Hola Antonio, saludos desde Argentina. Muy buen video a mi me esta costando el tema de patrones de presentación y de arquitectura asique este video me re ayuda, mil gracias. Me quedo una duda de ver el video y de leer la entrada de clean en tu blog. Si utilizara una librería como Room para persistencia de datos y por ejemplo, quisiera hacer un login, tendría en la capa de dominio el objeto usuario, y en el directorio framework de la capa App donde iria la libreria Room, tendria la entity usuario también para simbolizar la tabla?
Sí, aunque serían entidades diferentes. Normalmente cada capa tiene su propia entidad para no obligar al resto del código a adaptarse la las necesidades de una capa particular. Por ejemplo, si quisieras utilizar la misma entidad para room y para el dominio, esto obligaría a que la capa de dominio conociera room para poder añadir las anotaciones que necesita.
O imagina que el servidor te devuelve un usuario con un montón de campos que no necesitas y otros que no tienen la estructura más conveniente para tu App. Lo ideal es convertirlas a un modelo que sea el que tu App realmente necesita.
Hu buenisimo@@devexpert_io, muchísimas gracias por todo el contenido que aportas siempre, sos un grande. un Saludo gigante ...
Hola Antonio, muy buen video, realmente muy interesante.
Me surgió una duda que pasaría si se tuviera que llamar a otra activity, usando un startActivity con un intent, estaria en la capa de useCases no ? o seria mas cómodo hacer esa llamada desde el Presenter ?. Saludos
El startActivity como tal deber quedar relegado a la capa del framework, por lo que hay que indicarle la acción a la vista del MVP o MVVM para que lo haga
Antonio, una pregunta , cómo puedo usar un objeto del tipo FirebaseAuth en el módulo domain ? A pesar de que tengo las dependencias del gradle no me permite , solo puedo usarlo en data y presentation
Ni idea de por qué puede ser, te debería funcionar como en cualquier otro módulo. Lo único que no te recomiendo introducir Firebase tan dentro de tu arquitectura. Yo lo dejaría en la capa más externa.
Hola como se puede ingresar al chat en vivo
Eso solo era durante el directo
Hola, puede que la pregunta sea algo obvia pero estoy recien empezando en esto de Clean, tu clase Location viene a ser como la clase principal del proyecto, pueden existir mas de una clase en el domain, onda que tu proyecto haga mas de una cosa?
Hola Luis, por supuesto! Lo normal será que hay más
@@devexpert_io muchas gracias
uff que buen vídeo!, me hubiera encantado estar en el live. Actualmente me encuentro usando una arquitectura muy similar pero aun tengo una duda que no logro resolver del todo.
En donde se debe plasmar la lógica de negocio, por ejemplo si todas las location que obtienes las tuvieras que ordenar o hacerles un tratamiento especifico definido por el negocio, donde debe de ir? en un use case, presenter o alguna otra capa?
Muchas gracias! Si es lógica de negocio, en la capa de domain pueden estar bien. Como mucho en el use case, pero yo no me lo llevaría hasta el presenter, a no ser que solo sea tema de UI y que dependiendo del dispositivo la visualización sea distinta.
Un ejemplo de clean architecture pero usando funciones mas simples como suma o resta please
Puedes dejar tu propuesta aquí devexperto.com/video-klisst grabaré el vídeo más votado, gracias!
Buen tutorial Antonio!! Una pregunta, las llamadas a Coroutines en qué clase deberían ir, en el presenter o en el repository también podrían ir?
Yo suelo ponerlas en el presente, para que a partir de ese punto no haya que preocuparse por que estemos ejecutando algo en el hilo principal. Sí en algún momento se necesitan peticiones concurrentes, se pueden crear nuevas corrutinas en otras capas.
excelente explicación! tienes el código de ejemplo? ya lo encontré :D
Genial!
pensé que skone era boomer xd xd
Hombreee hacía tiempo que no salía el tema 🤣
todo un rollo inmenso esto de clean, muy confuso :(
No es algo que se aprenda de la noche a la mañana, hay muchos conceptos involucrados. Te recomiendo que si te cuesta te vayas a las bases primero.
Te recomiendo que te apuntes a la lista de espera de architectcoders.com , en unas semanas voy a dar una formación gratuita sobre todos estos temas como antesala a la nueva edición del programa