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 (*) | 30 de outubro de 2024 | 1.9.1 | - | - | - | |
collection | 13 de novembro de 2024 | 1.4.5 | - | - | 1.5.0-alpha06 | |
datastore | 1º de maio de 2024 | 1.1.1 | - | - | - | Documentação |
lifecycle (*) | 13 de novembro de 2024 | 2.8.7 | - | - | 2.9.0-alpha07 | |
paging (*) | 13 de novembro de 2024 | 3.3.4 | - | - | - | |
room | 30 de outubro de 2024 | 2.6.1 | - | - | 2.7.0-alpha11 | Documentação |
sqlite | 30 de outubro de 2024 | 2.4.0 | - | - | 2.5.0-alpha11 | Documentação |
A documentação de referência dessas bibliotecas marca as APIs 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.
O repositório do GitHub kotlin-multiplatform-samples mostra algumas das funcionalidades dessas bibliotecas.
Se você tiver feedback sobre essas bibliotecas, compartilhe no Issue Tracker.
Plataformas compatíveis
As versões da biblioteca Jetpack para plataformas com suporte oficial, Android e iOS, mantêm os mesmos requisitos de qualidade e compatibilidade. No entanto, à medida que trabalhamos para ampliar o suporte do Jetpack para Kotlin Multiplatform a 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 em CI; limitado a testes do lado do host
- Nenhum acompanhamento de compatibilidade com a origem ou binário
Nível 3:
- Não testado na CI
- Nenhum acompanhamento de compatibilidade com a origem ou binário
Plataforma | Nível de suporte |
---|---|
Android | Nível 1 |
JVM | Nível 1 |
iOS | Nível 1 |
macOS | Nível 2 |
watchOS | Nível 3 |
tvOS | Nível 3 |
Linux | Nível 2 |
Windows | 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.
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.