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.
Bibliotecas multiplataforma do Jetpack
O Kotlin Multiplatform tem suporte oficial do Google para compartilhar a 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 (*) | 7 de maio de 2025 | 2.9.0 | - | - | - | |
paging (*) | 12 de fevereiro de 2025 | 3.3.6 | - | - | - | |
room | 23 de abril de 2025 | 2.7.1 | - | - | - | Documentação |
savedstate | 7 de maio de 2025 | 1.3.0 | - | - | - | |
sqlite | 7 de maio de 2025 | 2.5.1 | - | - | - | 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, à medida que trabalhamos para expandir o suporte do Jetpack para 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 na CI, incluindo testes no host e no dispositivo
- Rastreamento de compatibilidade de origem e binário de acordo com nossas políticas de versionamento semântico
Nível 2:
- Parcialmente testado no CI; limitado a testes do lado do host
- Nenhum acompanhamento de compatibilidade com a origem ou o binário
Nível 3:
- Não testado na CI
- Nenhum acompanhamento de compatibilidade com a origem ou o binário
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 Kotlin Multiplatform da JetBrains. Como alternativa, você pode usar o plug-in 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 do KMP.
Codelab: Introdução ao KMP: treinamento guiado sobre como adicionar o KMP ao seu projeto.
Migrar o Room para o codelab do KMP Room: migração guiada do Room exclusivo para Android para o KMP.
Feedback
Se você tiver feedback sobre essas bibliotecas, compartilhe no Issue Tracker.