Kotlin Multiplatform (KMP) umożliwia udostępnianie kodu Kotlin na różnych platformach. Kotlin Multiplatform jest rozwijany przez JetBrains, a korzystanie z KMP na platformach mobilnych jest stabilne i gotowe do użycia w środowisku produkcyjnym.
Wieloplatformowe biblioteki Jetpack
Kotlin Multiplatform jest oficjalnie obsługiwany przez Google w zakresie udostępniania logiki biznesowej między Androidem a iOS. Wiele naszych bibliotek Jetpack zostało już przeniesionych, aby korzystać z KMP.
Obsługę KMP zapewniają te biblioteki Jetpack:
Identyfikator grupy Maven | Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa | Dokumentacja |
---|---|---|---|---|---|---|
adnotacja (*) | 7 maja 2025 r. | 1.9.1 | - | - | - | |
kolekcji, | 12 marca 2025 r. | 1.5.0 | - | - | - | |
datastore | 20 maja 2025 r. | 1.1.7 | - | - | 1.2.0-alpha02 | Dokumentacja |
lifecycle (*) | 2 lipca 2025 r. | 2.9.1 | - | - | - | |
stronicowanie (*) | 2 lipca 2025 r. | 3.3.6 | - | - | 3.4.0-alpha01 | |
pokój | 18 czerwca 2025 r. | 2.7.2 | - | - | - | Dokumentacja |
savedstate | 2 lipca 2025 r. | 1.3.1 | - | - | - | |
sqlite | 18 czerwca 2025 r. | 2.5.2 | - | - | - | Dokumentacja |
Dokumentacja
W dokumentacji tych bibliotek interfejsy API (np. DataStoreFactory
) są oznaczone w zależności od ich dostępności w przypadku kodu wspólnego, Androida i platformy natywnej. U góry każdej strony możesz też filtrować deklaracje według platformy.
Obsługiwane platformy
Wydania biblioteki Jetpack na oficjalnie obsługiwane platformy, Androida i iOS, zachowują te same wymagania dotyczące jakości i zgodności. Jednak w miarę rozszerzania obsługi Jetpacka w Kotlin Multiplatform na inne platformy narzędzia i infrastruktura mogą być w trakcie opracowywania.
Obecny poziom obsługi każdej platformy można podsumować w postaci poziomów:
Poziom 1:
- W pełni przetestowane w CI, w tym testy po stronie hosta i na urządzeniu
- śledzenie zgodności kodu źródłowego i binarnego zgodnie z naszymi zasadami dotyczącymi wersji semantycznych;
Poziom 2:
- Częściowo testowane w CI; ograniczone do testów po stronie hosta
- Brak śledzenia zgodności kodu źródłowego lub binarnego
Poziom 3:
- Nietestowane w CI
- Brak śledzenia zgodności kodu źródłowego lub binarnego
Platforma | Poziom pomocy |
---|---|
Android | Poziom 1 |
JVM | Poziom 1 |
iOS | Poziom 1 |
macOS | Poziom 2 |
Linux | Poziom 2 |
watchOS | Poziom 3 |
tvOS | Poziom 3 |
Windows | Poziom 3 |
JavaScript | Poziom 3 |
WASM | Poziom 3 |
Pomoc dotycząca narzędzi
Projekty wieloplatformowe możesz otwierać, edytować i uruchamiać w Android Studio. Jednak niektóre funkcje IDE nie są jeszcze dostępne w przypadku tych projektów. Aby utworzyć nowy projekt, użyj kreatora Kotlin Multiplatform od JetBrains. Możesz też użyć wtyczki Kotlin Multiplatform do Android Studio.
Dbamy też o to, aby wtyczka Android Gradle była zgodna z Kotlin Multiplatform, testując podstawowe scenariusze w przypadku nowych wersji.
Dodatkowe materiały
W kotlin-multiplatform-samples znajdziesz przykłady niektórych funkcji bibliotek Jetpack w projekcie KMP.
Get Started with KMP Codelab (Pierwsze kroki z ćwiczeniami z programowania dotyczącymi KMP) – przewodnik wprowadzający, który pokazuje, jak dodać KMP do projektu.
Ćwiczenia z programowania dotyczące migracji biblioteki Room do KMP – przewodnik po migracji biblioteki Room przeznaczonej tylko na Androida do KMP.
Opinia
Jeśli masz uwagi dotyczące tych bibliotek, podziel się nimi w narzędziu do śledzenia problemów.