Estrutura de Projetos KMM
Código compartilhado e de plataforma
Estrutura de Projetos KMM é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
O que é KMM?
Kotlin Multiplatform Mobile (KMM) permite compartilhar código entre iOS e Android, mantendo interfaces de usuário nativas. Você escreve a lógica de negócio uma vez em Kotlin.
O Módulo Compartilhado
Um projeto KMM se concentra em um módulo compartilhado. Ele é compilado para uma biblioteca da JVM para Android e para uma estrutura nativa para iOS.
- O Android o utiliza como uma dependência comum
- O iOS o importa como uma estrutura Objective-C/Swift
Conjuntos de Código-Fonte
O módulo compartilhado é dividido em conjuntos de código-fonte:
commonMain— código compartilhado e independente de plataformaandroidMain— código específico do AndroidiosMain— código específico do iOS
commonMain
commonMain só pode usar a biblioteca padrão do Kotlin e bibliotecas multiplataforma. Ele não deve referenciar diretamente APIs do Android ou do iOS.
// shared/src/commonMain/kotlin/Greeting.kt
class Greeting {
fun greet(): String = "Hello, KMM!"
}Configurando Destinos
O build.gradle.kts compartilhado declara quais plataformas devem ser compiladas com o plug-in multiplataforma.
kotlin {
androidTarget()
iosX64()
iosArm64()
iosSimulatorArm64()
}A Estrutura do iOS
Os destinos do iOS são agrupados em uma única estrutura que o Xcode importa.
kotlin {
listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach {
it.binaries.framework {
baseName = "Shared"
}
}
}Dependências Compartilhadas
As bibliotecas multiplataforma (corrotinas, serialização, Ktor) são incluídas em commonMain para que todos os destinos as compartilhem.
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
}
}
}Módulo do Aplicativo Android
O módulo do aplicativo Android depende de shared como qualquer módulo do Gradle e cria a interface do Android com Jetpack Compose ou Views.
// androidApp/build.gradle.kts
dependencies {
implementation(project(":shared"))
}Aplicativo iOS
O aplicativo iOS é um projeto padrão do Xcode. Ele vincula a estrutura Shared gerada e chama classes Kotlin a partir do Swift.
// Swift
// import Shared
// let text = Greeting().greet()O que Compartilhar
Código compartilhado típico: comunicação de rede, modelos de dados, repositórios, casos de uso e validação. Mantenha a interface do usuário, a navegação e os sensores da plataforma nativos.
Uma Saudação Autocontida
A lógica compartilhada é Kotlin puro. Aqui está a mesma classe sendo executada de forma independente para mostrar que é um código comum.
class Greeting {
fun greet(): String = "Hello, KMM!"
}
fun main() {
println(Greeting().greet())
}Verificação Rápida
Onde você deve colocar o código que precisa não conter nenhuma referência a APIs do Android ou do iOS?
Recapitulação
Você aprendeu a estrutura do KMM:
- Um módulo
sharedcomcommonMain,androidMaineiosMain - Destinos declarados no plug-in multiplataforma; o iOS recebe uma estrutura
- O Android depende de
project(":shared"); o iOS importa a estrutura
Próximo tópico: expect e actual.
Perguntas Frequentes
A aula “Estrutura de Projetos KMM” é grátis?
Sim — o texto completo de “Estrutura de Projetos KMM” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “Estrutura de Projetos KMM”?
Código compartilhado e de plataforma Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Estrutura de Projetos KMM”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura de Projetos KMM
- expect e actual
- Compartilhamento da Lógica de Negócios
- APIs da Plataforma