Kotlin multiplataforma (KMP) permite compartir el código Kotlin en diferentes plataformas. Fue desarrollado por JetBrains y su uso en plataformas móviles es estable y está listo para la producción.
Bibliotecas de Jetpack multiplataforma
Google es compatible oficialmente con Kotlin multiplataforma para compartir la lógica empresarial entre iOS y Android. Muchas de nuestras bibliotecas de Jetpack ya se migraron para aprovechar KMP.
Las siguientes bibliotecas de Jetpack proporcionan compatibilidad con KMP:
ID de grupo de Maven | Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa | Documentación |
---|---|---|---|---|---|---|
annotation (*) | 30 de octubre de 2024 | 1.9.1 | - | - | - | |
collection | 13 de noviembre de 2024 | 1.4.5 | - | - | 1.5.0-alpha06 | |
datastore | 1 de mayo de 2024 | 1.1.1 | - | - | - | Documentación |
lifecycle (*) | 13 de noviembre de 2024 | 2.8.7 | - | - | 2.9.0-alpha07 | |
paging (*) | 13 de noviembre de 2024 | 3.3.4 | - | - | - | |
room | 30 de octubre de 2024 | 2.6.1 | - | - | 2.7.0-alpha11 | Documentación |
sqlite | 30 de octubre de 2024 | 2.4.0 | - | - | 2.5.0-alpha11 | Documentación |
La documentación de referencia de estas bibliotecas marca las APIs según su disponibilidad para código común, Android y nativo. También puedes filtrar las declaraciones por plataforma en la parte superior de cada página.
El repositorio de GitHub kotlin-multiplatform-samples muestra algunas de las funciones de estas bibliotecas.
Si tienes comentarios sobre estas bibliotecas, compártelos a través del seguimiento de errores.
Plataformas compatibles
Las versiones de la biblioteca de Jetpack para plataformas compatibles oficialmente, Android y iOS, mantienen los mismos requisitos de calidad y compatibilidad. Sin embargo, a medida que trabajamos para expandir la compatibilidad de Kotlin multiplataforma de Jetpack a otras plataformas, es posible que la compatibilidad con las herramientas y la infraestructura esté en curso.
El nivel de asistencia actual de cada plataforma se puede resumir en niveles:
Nivel 1:
- Se probaron por completo en CI, incluidas las pruebas del host y en el dispositivo
- Seguimiento de compatibilidad de fuentes y objetos binarios de acuerdo con nuestras políticas de control de versiones semánticas
Nivel 2:
- Se probó parcialmente en CI; se limita a las pruebas del host
- Sin seguimiento de compatibilidad de fuentes ni objetos binarios
Nivel 3:
- No se probó en CI
- Sin seguimiento de compatibilidad de fuentes ni objetos binarios
Plataforma | Nivel de asistencia |
---|---|
Android | Nivel 1 |
JVM | Nivel 1 |
iOS | Nivel 1 |
macOS | Nivel 2 |
watchOS | Nivel 3 |
tvOS | Nivel 3 |
Linux | Nivel 2 |
Windows | Nivel 3 |
WASM | Nivel 3 |
Compatibilidad con herramientas
Puedes abrir, editar y ejecutar proyectos multiplataforma en Android Studio. Sin embargo, algunas funciones del IDE aún no están disponibles para estos proyectos. Para crear un proyecto nuevo, usa el asistente de Kotlin multiplataforma de JetBrains.
También nos aseguramos de que el complemento de Android para Gradle sea compatible con Kotlin multiplataforma mediante pruebas de situaciones principales en las versiones nuevas.