0Pricing
Kotlin Academy · Aula

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 plataforma
  • androidMain — código específico do Android
  • iosMain — 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 shared com commonMain, androidMain e iosMain
  • 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

  1. Estrutura de Projetos KMM
  2. expect e actual
  3. Compartilhamento da Lógica de Negócios
  4. APIs da Plataforma
← Voltar para Kotlin Academy