Kotlin Multiplatform (KMP) permite compartir código Kotlin en diferentes plataformas. Kotlin Multiplatform 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 admite oficialmente Kotlin Multiplatform 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 (*) | 7 de mayo de 2025 | 1.9.1 | - | - | - | |
collection | 12 de marzo de 2025 | 1.5.0 | - | - | - | |
datastore | 20 de mayo de 2025 | 1.1.7 | - | - | 1.2.0-alpha02 | Documentación |
lifecycle (*) | 2 de julio de 2025 | 2.9.1 | - | - | - | |
paging (*) | 2 de julio de 2025 | 3.3.6 | - | - | 3.4.0-alpha01 | |
room | 18 de junio de 2025 | 2.7.2 | - | - | - | Documentación |
savedstate | 2 de julio de 2025 | 1.3.1 | - | - | - | |
sqlite | 18 de junio de 2025 | 2.5.2 | - | - | - | Documentación |
Documentación de referencia
En la documentación de referencia de estas bibliotecas, las APIs (por ejemplo, DataStoreFactory
) se marcan 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.
Plataformas compatibles
Las versiones de las bibliotecas de Jetpack para las 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 Jetpack con Kotlin multiplataforma a otras plataformas, es posible que la compatibilidad con herramientas e infraestructura esté en desarrollo.
El nivel actual de compatibilidad con cada plataforma se puede resumir en niveles:
Nivel 1:
- Se probó por completo en la CI, incluidas las pruebas del host y en el dispositivo.
- Seguimiento de la compatibilidad de código fuente y binaria de acuerdo con nuestras políticas de control semántico de versiones
Nivel 2:
- Se probó parcialmente en la CI; se limita a las pruebas del host
- No se realiza un seguimiento de la compatibilidad de código fuente ni binaria
Nivel 3:
- No se probó en la CI
- No se realiza un seguimiento de la compatibilidad de código fuente ni binaria
Plataforma | Nivel de asistencia |
---|---|
Android | Nivel 1 |
JVM | Nivel 1 |
iOS | Nivel 1 |
macOS | Nivel 2 |
Linux | Nivel 2 |
watchOS | Nivel 3 |
tvOS | Nivel 3 |
Windows | Nivel 3 |
JavaScript | 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 Multiplatform de JetBrains o el complemento de Kotlin Multiplatform de Android Studio.
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.
Recursos adicionales
El repositorio kotlin-multiplatform-samples muestra algunas de las funciones de las bibliotecas de Jetpack en un proyecto de KMP.
Codelab para comenzar a usar KMP: Integración guiada para agregar KMP a tu proyecto.
Codelab de migración de Room a Room KMP: Migración guiada de Room solo para Android a KMP.
Comentarios
Si tienes comentarios sobre estas bibliotecas, compártelos a través de la herramienta de seguimiento de errores.