Trilha · 5 etapas · 23 passos · 90 min de leitura nos temas
Kotlin Multiplatform
Para quem já faz Android ou iOS e quer um código só para a lógica. No fim, você estrutura um módulo compartilhado com rede, banco local e testes, usado pelos dois apps.
Kotlin · Ktor · kotlinx.serialization · SQLDelight · Compose Multiplatform (opcional)
-
Kotlin com segurança 0/4
KMP é Kotlin: corrotinas e um bom modelo de domínio são o centro do código compartilhado.
- Kotlin — primeiros passos (documentação oficial) (abre em nova aba) Documentação oficial
- Corrotinas e Flow em Kotlin Tema · 6 min
Corrotinas escrevem código assíncrono como se fosse sequencial; Flow entrega vários valores ao longo do tempo. Escopo e dispatcher certos evitam vazamentos e travamentos.
- Composição em vez de herança Tema · 5 min
Monte comportamento juntando objetos pequenos em vez de empilhar subclasses — mais flexível e menos frágil.
- Git e GitHub Curso · abre em 01/12/2026
-
-
A estrutura de um projeto KMP 0/5
Decidir o que é compartilhado e o que fica em cada plataforma é a decisão mais importante.
- Kotlin Multiplatform — documentação (abre em nova aba) Documentação oficial
commonMain, androidMain, iosMain e expect/actual.
- Arquitetura de apps mobile: camadas, MVVM e Kotlin Multiplatform Tema · 7 min
Como organizar um app Android ou iOS em camadas de interface, domínio e dados — e o que dá para compartilhar entre as duas plataformas.
- Clean Architecture e hexagonal (portas e adaptadores) Tema · 7 min
Regras de negócio no centro, frameworks na borda, dependências apontando sempre para dentro.
- Repository Tema · 5 min
Uma coleção do domínio que esconde de onde os dados vêm — API, banco local ou cache — e decide a estratégia offline.
- Injeção de dependência Tema · 5 min
Cada classe recebe o que precisa em vez de criar sozinha — código desacoplado, configurável e fácil de testar.
-
-
Rede e dados compartilhados 0/6
Rede, serialização e banco local são o que mais rende compartilhar.
- Ktor — cliente HTTP (abre em nova aba) Documentação oficial
- kotlinx.serialization — guia (abre em nova aba) Documentação oficial
- SQLDelight — banco local multiplataforma (abre em nova aba) Documentação oficial
- APIs: REST, GraphQL ou gRPC Tema · 6 min
Três formas de expor uma API, com trocas diferentes entre simplicidade, flexibilidade para o cliente e desempenho entre serviços.
- Offline-first e sincronização Tema · 8 min
O app lê e grava num banco local e sincroniza com o servidor quando dá: funciona no metrô, abre na hora e não perde o que a pessoa fez — desde que os conflitos tenham regra.
- Formatador e Validador de JSON Ferramenta
-
-
As duas plataformas 0/4
O código compartilhado precisa ser agradável de usar no Swift, e as telas continuam nativas (ou Compose Multiplatform).
- Concorrência em Swift: async/await, Task e actors Tema · 6 min
Como o Swift chama funções suspend e coleta Flows.
- MVVM e MVI na interface Tema · 6 min
A tela só desenha um estado e envia ações; o ViewModel guarda o estado e aplica a lógica — fluxo de dados em uma só direção.
- Compose Multiplatform (JetBrains) (abre em nova aba) Documentação oficial
-
-
Qualidade 0/4
Um bug no código compartilhado aparece nos dois apps: testes no commonMain pagam em dobro.
- Pirâmide de testes e TDD Tema · 6 min
Muitos testes unitários rápidos, alguns de integração e poucos de ponta a ponta — e o ciclo vermelho, verde, refatorar.
- Condições de corrida e imutabilidade Tema · 5 min
Uma condição de corrida acontece quando duas tarefas leem e escrevem o mesmo dado ao mesmo tempo e o resultado depende de quem chega primeiro. Imutabilidade e confinamento evitam o problema na raiz.
- Segredos e chaves: o que nunca vai para o código Tema · 5 min
Senhas, tokens e chaves de API no repositório ou dentro do app acabam vazando. Guarde no servidor ou num cofre, e no celular use o Keystore (Android) e o Keychain (iOS).
- CI/CD e estratégias de deploy: blue-green, canário e feature flags Tema · 7 min
Integrar e testar cada mudança automaticamente e levá-la à produção com pouco risco — e voltar atrás rápido quando algo dá errado.
-
Outras trilhas: Desenvolvedor Android · Desenvolvedor iOS · Desenvolvedor backend · Desenvolvedor frontend. O progresso fica só neste navegador.