Um vídeo sobre testes seria muito bom mesmo, ainda não sei quase nada sobre o assunto, mas gostaria de saber oque é teste, oque são testes unitário e automatizado; qual a visão teórica e também como fazer na prática.
de longe o melhor conteúdo do youtube sobre clean e mvvm seria de grande ajuda um video explicando dependency injection com koin também! parabens pelo trabalho, sucesso!
Muito bom o material, parabéns! Sobre o modulo de network, gostaria de entender melhor aquelas classes que você usou para tratar o retorno do retrofit com sealed classes e generics.
É pouco complicado de explicar essa camada de rede por aqui e ela esta sem validações tbm, é apenas um esboço pra fazer uma request... Mas eu vou tentar criar um material para disponibilizar a explicação dela
Belo conteúdo. Aguardando pela aula sobre testes. Com clean o projeto fica bem organizado e com fácil manutenção. Posso fazer uma pergunta? Você tem quanto tempo de experiência? Eu gostaria de chegar até o final desse ano com um bom conhecimento. haha
Valeu Lucas.. Vai rolar o vídeo de testes tbm 😀 Cara, eu mexo com android desde 2014 mais ou menos... E com certeza, até o final do ano, vc consegue!!! 🚀
Como é tratado alguma interação com a view ? É passada essa informação pra viewModel e ela é responsável por modificar a model? To meio perdido ainda nessa parte
A conversão .toUiModel() não deveria ser feita na camada domain? seguindo a mesma lógica da camada de data, a próxima camada não deve conhecer o modelo da camada anterior.
não importa quantos videos eu veja sempre continua a mesma coisa, complexo aplicar essa arquitetura, acho que é por que me perdo e não entendo bem como se encaixa esse domain.....ele serve para que ali ? (Compreendo os outros 3, view= tela do usuário, view model observa o data e o domain ?)
só não entendi uma parte... na class MealViewModel vc fez um cast pra categories transformando Mutable em LiveData, mas não usou a variável categories. por q?
Aproveitando: Como ficaria a Clean Arch em uma aplicação grande? É possível usar algum módulo "data" e "domain" para outros módulos de View? Se sim, como? Através de módulos para cada "data" e "domain"? Separando cada camada em módulos diferntes? Se isso for possível, como utilizar esses módulos em outras aplicações? Por exemplo, quero usar o "data" e "domain" de Login de uma aplicação em outra aplicação, trocando apenas a View Grato!
Seria mais ou menos assim... Em uma aplicação grande vc faria a modularização por feature, então dentro de cada feature vc teria a arquitetura. Você pergunta se é possível usar um modulo data e domain em outras views... Daria sim.... imagina uma situação onde vc possui um modulo User, que possui todas as regras de negócios do seu usuário... Voce poderia expor essa camada de domínio do seu módulo user para ser consumido em outros módulos A ideia do clean e mvvm é exatamente vc conseguir "desplugar" suas camadas de domínio e usar em outras aplicações... então daria sim Eu fiz um vídeo sobre modularização que falo um pouco sobre módulos e pretendo trazer mais um mais pra frente =] Depois me segue no instagram tbm que dou bastante dicas e abro bastante caixinhas de perguntas lá 😀
Cara... Não existe pergunta tosca 😃 Da pra usar sim, no app q eu trabalho atualmente utilizamos Koin e funciona muito bem O que eu gosto do Koin é a simplicidade dele
Lucas, tenho uma dúvida: No arquivo "GetCategories.kt", você criou uma interface e a sobrescreveu (override) para chamar o repositório. No MealRepository.kt você segue o mesmo procedimento. Qual o motivo de não ter criado direto a função dentro da classe? Meu palpite é que seria para já poder deixar "reservado" uma função daquele nome para outra pessoa ir trabalhando em outra parte do app. Estou certo?
Eu fiz isso porque o UseCase é terá apenas um método exposto, a UseCase deve ter apenas uma responsabilidade, já no repository eu posso expor vários métodos. Ai por questão de organização, eu prefiro separar os arquivos quando tenho mais métodos expostos mas nada te impede de colocar na mesma classe. É apenas minha preferencia mesmo 😃
Segue lá no instagram.com/debug.uchoa
Um vídeo sobre testes seria muito bom mesmo, ainda não sei quase nada sobre o assunto, mas gostaria de saber oque é teste, oque são testes unitário e automatizado; qual a visão teórica e também como fazer na prática.
Um vídeo sobre APIs também seria o máximo!
Sensacional, cara. Finalmente entendi como se usa MVVM e Clean juntos no Kotlin
Cara que vídeo maravilhoso, só tenho a agradecer!!!!❤❤
Explicação clara e eficaz.
Obrigado
Quando eu crescer quero ser foda que nem tu.
Este vídeo e o anterior são TUDO o que eu buscava sobre Clean Arch, tá perfeito!
HAHAHHA Valeu Vinicius
Que bom que curtiu o vídeo
Obrigado pelo vídeo, deu pra começar entender bem sobre Clean Architecture. Me inscrevi no canal.
Depois de algum tempo batendo cabeça com clean architecture finalmente comecei a entender sobre os usecases graças a esse video. Vlw man.
Feliz em conseguir ajudar Antoni 😁
Você podia voltar a produzir conteúdo. É sem dúvida nenhuma o melhor canal que eu já vi pra poder entender como as coisas funcionam!
de longe o melhor conteúdo do youtube sobre clean e mvvm
seria de grande ajuda um video explicando dependency injection com koin também!
parabens pelo trabalho, sucesso!
Perfeito o vídeo. Pra quem ja conhece mvvm, isso fica mto claro como mesclar o clean e refatorar o código. Obrigado pelas dicas.
Muito bom, parabéns!
SENSACIONAL! muito obrigado
Simples e fácil de entender.
Muito bom.
Top demais o vídeo. Você podia fazer um similar só que usando só Java né? Hahah. Valeu pelo conteúdo
Parabéns pelo conteúdo, simples, sucinto e preciso. As imagens que vc utilizou facilita muito o entendimento.
Vídeo show de bola, torcendo para ter a parte de testes também! parabéns e muito obrigado
Valeu Rafael... Vou criar algumas coisas a mais na aplicação e depois faço um vídeo só sobre teste
Sensacional, ótima explicação!
Valeu Carlos
Cara, que conteúdo massa. Por favor continue com o canal, muito bom.
Muuuuuuito obrigado pelo feedback Igor 😀
Seu vídeo me ajudou bastante, parabéns! Ótimo conteúdo!
Conteúdo excelente parabéns
Muito obrigado Lucca
Cara, meus parabéns! Esses 2 vídeos foram simplesmente sensacionais!
Valeu demais Matheus 😃
Excelente trabalho, cara! Parabéns e obrigado por esclarecer esse assunto de forma tão simples!
Top de mais!
Muito bom conteúdo, primeira vez que vejo um segundo tipo de mapeamento de domain pra Ui, qual seria o beneficio ?
Muito bom!!! Adorei!!!
😀
Top de mais!
Muito show! Queria ver mais sobre os testes e a dependency injection
Vai acontecer 😁
Muito bom o material, parabéns! Sobre o modulo de network, gostaria de entender melhor aquelas classes que você usou para tratar o retorno do retrofit com sealed classes e generics.
É pouco complicado de explicar essa camada de rede por aqui e ela esta sem validações tbm, é apenas um esboço pra fazer uma request... Mas eu vou tentar criar um material para disponibilizar a explicação dela
Muito bom!
Olá. Quero um vídeo de injeção de dependência.
Valeu Diego. Estou preparando e logo logo estará no canal 😀
Belo conteúdo. Aguardando pela aula sobre testes.
Com clean o projeto fica bem organizado e com fácil manutenção.
Posso fazer uma pergunta? Você tem quanto tempo de experiência? Eu gostaria de chegar até o final desse ano com um bom conhecimento. haha
Valeu Lucas.. Vai rolar o vídeo de testes tbm 😀
Cara, eu mexo com android desde 2014 mais ou menos... E com certeza, até o final do ano, vc consegue!!! 🚀
vc tem esse exemplo, mostrando a implementacao entre o observer e a implementacao do viewmodel da recyclerview?
Na descrição tem o repo do projeto... Lá tem essa implementação
Como é tratado alguma interação com a view ? É passada essa informação pra viewModel e ela é responsável por modificar a model? To meio perdido ainda nessa parte
A conversão .toUiModel() não deveria ser feita na camada domain? seguindo a mesma lógica da camada de data, a próxima camada não deve conhecer o modelo da camada anterior.
Top demais, ajudou muito :)
Valeu Carol 😁
Conteúdo sensacional, gostaria de ver como que funciona o data binding nesse caso
Ai depende muito do jeito que vc está utilizando o data binding. Se tiver lógicas dentro dos XML foge um pouco desse padrão
@@CanalDebug não tem nenhuma "best practice"?
Como eu poderia deixar a estrutura do projeto caso meu projeto além de uma parte remota tenha também um banco de dados local (Room)?
Muito bom. Faz um com java e spring boot. não há bons tutoriais com eles
Por favor, obviamente
hahahah eu até faria mas minha especialidade é Android 😅.. Ai infelizmente eu vou ficar devendo
não importa quantos videos eu veja sempre continua a mesma coisa, complexo aplicar essa arquitetura, acho que é por que me perdo e não entendo bem como se encaixa esse domain.....ele serve para que ali ? (Compreendo os outros 3, view= tela do usuário, view model observa o data e o domain ?)
só não entendi uma parte... na
class MealViewModel vc fez um cast pra categories transformando Mutable em LiveData, mas não usou a variável categories. por q?
estudando mais a respeito eu consegui entender (:
Aproveitando: Como ficaria a Clean Arch em uma aplicação grande?
É possível usar algum módulo "data" e "domain" para outros módulos de View? Se sim, como? Através de módulos para cada "data" e "domain"? Separando cada camada em módulos diferntes?
Se isso for possível, como utilizar esses módulos em outras aplicações? Por exemplo, quero usar o "data" e "domain" de Login de uma aplicação em outra aplicação, trocando apenas a View
Grato!
Seria mais ou menos assim...
Em uma aplicação grande vc faria a modularização por feature, então dentro de cada feature vc teria a arquitetura.
Você pergunta se é possível usar um modulo data e domain em outras views... Daria sim.... imagina uma situação onde vc possui um modulo User, que possui todas as regras de negócios do seu usuário... Voce poderia expor essa camada de domínio do seu módulo user para ser consumido em outros módulos
A ideia do clean e mvvm é exatamente vc conseguir "desplugar" suas camadas de domínio e usar em outras aplicações... então daria sim
Eu fiz um vídeo sobre modularização que falo um pouco sobre módulos e pretendo trazer mais um mais pra frente =]
Depois me segue no instagram tbm que dou bastante dicas e abro bastante caixinhas de perguntas lá 😀
Muito obrigado pela resposta!
E no caso, como ficaria o versionamento disso, no caso para utilizar em dois projetos diferentes, digamos assim...
Cara, pergunta tosca, mas o Koin já é usado em produção?
Cara... Não existe pergunta tosca 😃
Da pra usar sim, no app q eu trabalho atualmente utilizamos Koin e funciona muito bem
O que eu gosto do Koin é a simplicidade dele
@@CanalDebug Ah, e excelente vídeo! Me inscrevi e dei o like. Dale hermano.
Bacana
Lucas, tenho uma dúvida:
No arquivo "GetCategories.kt", você criou uma interface e a sobrescreveu (override) para chamar o repositório. No MealRepository.kt você segue o mesmo procedimento. Qual o motivo de não ter criado direto a função dentro da classe?
Meu palpite é que seria para já poder deixar "reservado" uma função daquele nome para outra pessoa ir trabalhando em outra parte do app. Estou certo?
Eu fiz isso porque o UseCase é terá apenas um método exposto, a UseCase deve ter apenas uma responsabilidade, já no repository eu posso expor vários métodos. Ai por questão de organização, eu prefiro separar os arquivos quando tenho mais métodos expostos mas nada te impede de colocar na mesma classe. É apenas minha preferencia mesmo 😃
@@CanalDebug Acho que vou suprimir só para ficar mais simples, pelo menos nas primeiras vezes. Obrigado pela ajuda!
@@CanalDebug Ahhhh agora eu entendi direitinho heheheeh. Vou fazer igual! :)
Hahahah massa cara 😃
Boa tarde 😊, vamos montar um grupo no whats pessoal
Boa ideia Bruno... Vou ver de criar e passar pra galera 😁
A teoria foi de boa,mas na prática eu me perco todinha msm c a explicação:(
Mas não desiste não Stephanie. Me segue lá no Instagram que tiro suas dúvidas se precisar 😃
Tem como disponibilizar esse código no git?
Vou disponibilizar e deixar na descrição do vídeo 😁... No máximo quarta estará no git
@@CanalDebug Boaa! Top!
Depois da uma olhadinha lá
github.com/LucasUchoaRodrigues/clean-mvvm