commonMain, androidMain e iosMain
Conheça os três conjuntos de código-fonte que você usará todos os dias
commonMain, androidMain e iosMain é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 2 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 Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Source Sets, Not Folders
Inside shared, code lives in source sets. Each one targets a different platform, and Kotlin compiles them accordingly.
Meet commonMain
commonMain is where shared Kotlin lives. Code here compiles for every target, so it must stay platform-neutral.
Meet androidMain
androidMain holds Android-only code in the shared module. Here you can touch JVM and Android APIs freely.
Meet iosMain
iosMain holds iOS-only Kotlin. It can reach Apple frameworks through Kotlin/Native interop.
A Place for Everything
Put cross-platform logic in commonMain. Drop into androidMain or iosMain only when you truly need that platform.
What commonMain Looks Like
Plain Kotlin with no platform imports belongs in commonMain, like this small greeting function.
fun greet(name: String): String {
return "Hello, " + name
}Platform Code in androidMain
An Android API call belongs in androidMain, never in commonMain, because iOS has no such class.
import android.os.Build
fun osName(): String = Build.MODELThey Share One Name
commonMain can declare an API and each platform set fills it in. That handshake is the expect/actual pattern you will meet soon.
Folder Layout
On disk the sets sit under src: src/commonMain, src/androidMain, src/iosMain, each with its own kotlin folder.
Compilation Merges Sets
For Android the compiler merges commonMain with androidMain. For iOS it merges commonMain with iosMain.
Start in Common
A good habit: write in commonMain first, and only move code outward when the compiler tells you a platform API is missing. 🙂
Quick Check
Where should this code go?
Recap
Three homes: commonMain for shared logic, androidMain for Android-only, iosMain for iOS-only. Default to common.
Perguntas Frequentes
A aula “commonMain, androidMain e iosMain” é grátis?
Sim — o texto completo de “commonMain, androidMain e iosMain” é 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 Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
O que vou aprender em “commonMain, androidMain e iosMain”?
Conheça os três conjuntos de código-fonte que você usará todos os dias Você pratica Kotlin Multiplatform 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 Multiplatform Academy?
Nenhuma experiência prévia é necessária. Kotlin Multiplatform 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 2 de 4.
Quanto tempo leva a aula “commonMain, androidMain e iosMain”?
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 Multiplatform Academy?
Sim. Cada aula de Kotlin Multiplatform 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
- O módulo compartilhado versus os módulos da aplicação
- commonMain, androidMain e iosMain
- Lendo o build.gradle.kts compartilhado
- Onde ficam os testes: commonTest e companhia