O Kotlin Multiplatform (KMP) permite compartilhar códigos Kotlin em diferentes plataformas. Ele é desenvolvido pela JetBrains, e o uso para plataformas móveis está estável e pronto para produção (links em inglês).
Bibliotecas multiplataforma do Jetpack
O Kotlin Multiplatform tem suporte oficial do Google para compartilhar lógica de negócios entre Android e iOS. Muitas das nossas bibliotecas do Jetpack já foram migradas para aproveitar o KMP.
As seguintes bibliotecas do Jetpack oferecem suporte ao KMP:
ID de grupo do Maven | Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa | Documentação |
---|---|---|---|---|---|---|
annotation (*) | 7 de maio de 2025 | 1.9.1 | - | - | - | |
collection | 12 de março de 2025 | 1.5.0 | - | - | - | |
datastore | 20 de maio de 2025 | 1.1.7 | - | - | 1.2.0-alpha02 | Documentação |
lifecycle (*) | 2 de julho de 2025 | 2.9.1 | - | - | - | |
paging (*) | 2 de julho de 2025 | 3.3.6 | - | - | 3.4.0-alpha01 | |
room | 18 de junho de 2025 | 2.7.2 | - | - | - | Documentação |
savedstate | 2 de julho de 2025 | 1.3.1 | - | - | - | |
sqlite | 18 de junho de 2025 | 2.5.2 | - | - | - | Documentação |
Documentação de referência
A documentação de referência dessas bibliotecas marca as APIs (por exemplo,
DataStoreFactory
) com base na disponibilidade delas para código
comum, Android e nativo. Também é possível filtrar as declarações por plataforma na parte de cima de cada página.
Plataformas compatíveis
As versões da biblioteca Jetpack para plataformas oficialmente compatíveis, Android e iOS, mantêm os mesmos requisitos de qualidade e compatibilidade. No entanto, enquanto trabalhamos para expandir a compatibilidade do Jetpack com o Kotlin Multiplatform para outras plataformas, o suporte a ferramentas e infraestrutura pode estar em andamento.
O nível atual de suporte para cada plataforma pode ser resumido em níveis:
Nível 1:
- Totalmente testado em CI, incluindo testes no host e no dispositivo
- Rastreamento de compatibilidade de origem e binária de acordo com nossas políticas de controle de versão semântico
Nível 2:
- Parcialmente testado na CI; limitado a testes do lado do host
- Nenhum rastreamento de compatibilidade de origem ou binária
Nível 3:
- Não testado na CI
- Nenhum rastreamento de compatibilidade de origem ou binária
Plataforma | Nível de suporte |
---|---|
Android | Nível 1 |
JVM | Nível 1 |
iOS | Nível 1 |
macOS | Nível 2 |
Linux | Nível 2 |
watchOS | Nível 3 |
tvOS | Nível 3 |
Windows | Nível 3 |
JavaScript | Nível 3 |
WASM | Nível 3 |
Suporte a ferramentas
Você pode abrir, editar e executar projetos multiplataforma no Android Studio. No entanto, alguns recursos do ambiente de desenvolvimento integrado ainda não estão disponíveis para esses projetos. Para criar um novo projeto, use o assistente do Kotlin Multiplatform da JetBrains ou o plug-in do Kotlin Multiplatform do Android Studio.
Também vamos garantir que o Plug-in do Android para Gradle ofereça suporte ao Kotlin Multiplatform com testes dos cenários principais de lançamentos.
Outros recursos
O kotlin-multiplatform-samples mostra algumas das funcionalidades das bibliotecas do Jetpack em um projeto KMP.
Codelab: Primeiros passos com o KMP: integração guiada para adicionar o KMP ao seu projeto.
Codelab de migração do Room para o Room KMP: migração guiada do Room somente para Android para o KMP.
Feedback
Se você tiver feedback sobre essas bibliotecas, compartilhe no Issue Tracker.