O Kotlin Multiplatform (KMP) permite compartilhar códigos Kotlin em diferentes plataformas. Ele é desenvolvido pela JetBrains e tem suporte oficial do Google para compartilhar lógica de negócios entre Android e iOS. O uso do KMP para segmentar plataformas móveis está estável e pronto para produção.
Bibliotecas multiplataforma do Jetpack
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 (*) | 16 de julho 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 (*) | 16 de julho de 2025 | 2.9.2 | - | - | - | |
paging (*) | 2 de julho de 2025 | 3.3.6 | - | - | 3.4.0-alpha01 | |
room | 16 de julho de 2025 | 2.7.2 | - | - | 2.8.0-alpha01 | Documentação |
savedstate | 16 de julho de 2025 | 1.3.1 | - | - | - | |
sqlite | 16 de julho de 2025 | 2.5.2 | - | - | 2.6.0-alpha01 | 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.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Codelab para migrar apps atuais para o Room KMP
- Codelab: Primeiros passos com o KMP
- Salvar dados no banco de dados local com o Room