Quantas vezes já nos deparamos com um projeto Android com uma estrutura confusa, muitas vezes com classes infladas e sem responsabilidades e objetivos únicos? Isso claramente nos traz uma série de dificuldades: desde a sua manutenção até a forma como testamos o nosso código. Uma alternativa será proposta para você: a utilização do VIPER, que é uma arquitetura baseada nos conceitos do Clean Architecture. Aqui todos os detalhes dessa arquitetura serão exibidos, além de fazer comparativos com outras conhecidas atualmente e mostra como utilizo na prática em uma app que é desenvolvida por uma equipe distribuída, além de ser utilizada por milhares de pessoas.