DEV Community

Rodrigo Sicarelli
Rodrigo Sicarelli

Posted on • Updated on

Android Plataforma - Parte 1: Modularização

🌱 Branch: 1-2/introduction

🔗 Repositório: github.com/rsicarelli/kotlin-gradle-android-platform

⬅️ Artigo Anterior: Parte 0: Introdução a série

➡️ Próximo Artigo: Parte 2: Início do Projeto


A eficiência no desenvolvimento de software é essencial nos projetos atuais. Neste artigo, discutiremos a modularização em projetos Kotlin/Android, o papel vital do Gradle para otimizar compilações e os desafios de gerir múltiplos módulos.

Para lidar com essa complexidade, apresentaremos o conceito de "plataforma" em desenvolvimento, ilustrando como uma plataforma estruturada pode simplificar a gestão de dependências e configurações.


O que é modularização?

Pense em um guarda-roupas: se todas as peças estiverem misturadas, localizar um item específico pode ser demorado.

No entanto, se estiver organizado, com uma divisão clara para camisetas, calças e outros, tudo fica mais acessível.

Isso é similar à modularização em Kotlin. Segmentamos o código em "módulos", onde cada um tem responsabilidades específicas. Esse agrupamento facilita a manutenção, reutilização e colaboração no projeto.

Modularização vs pastas

Apenas agrupar o código em pastas não é o mesmo que modularizar. Em grandes módulos, alterações pequenas levam à recompilação de todo o módulo.

Image description

Já com módulos menores, apenas a seção alterada é recompilada, tornando compilações mais eficientes.

Gradle em ação

No contexto de Kotlin, o Gradle é indispensável. Ele detecta módulos alterados e recompila apenas essas partes. O resultado? Compilações mais rápidas e um processo de desenvolvimento mais ágil.

Um diagrama representando uma versão super simplificada desse processo:

Image description

Em projetos pequenos, a modularização pode parecer desnecessária. Mas, à medida que o código cresce, ela otimiza tempo e recursos. Assim, em grandes projetos, a modularização se torna vital.

Manutenção dos módulos

Modularizar em Kotlin vai além da arquitetura; envolve a interação com ferramentas como o Gradle. E surgem desafios, como manter a consistência dos arquivos build.gradle.kts. Além disso, é essencial garantir que as configurações de cada módulo sejam corretamente aplicadas.

Conceito de "Plataforma"

Em software, "plataforma" refere-se a um conjunto de ferramentas e especificações que facilitam o desenvolvimento. No cenário do Gradle, criar uma "plataforma" ajuda a padronizar módulos, simplificando a gestão de dependências e configurações.

Criando uma plataforma para seu projeto Android

Ao longo desta série, construiremos uma plataforma passo a passo, adicionando funcionalidades, visando uma solução flexível. Assim, será como montar blocos de lego, aplicando plugins que coordenam seu projeto.

Top comments (0)