Toolverse
Wszystkie skille

kotlin-multiplatform

autor: vitorpamplona

Decyzje architektoniczne dla Kotlin Multiplatform – kiedy dzielić kod między platformy, a kiedy trzymać osobno.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
105

O skillu

Skill wspierający architekturę Kotlin Multiplatform w projekcie Amethyst. Pomaga w podejmowaniu decyzji, czy kod powinien być współdzielony między Android, JVM/Desktop i iOS, czy pozostać specyficzny dla platformy. Prowadzi przez drzewo decyzyjne: czy kod jest używany przez 2+ platformy, czy jest czysty Kotlin, czy wymaga expect/actual czy jvmAndroid. Sugeruje prawidłowe umiejscowienie w sourceset (commonMain, jvmAndroid, platform-specific) i integruje się z gradle-expert w kwestiach zależności.

Jak używać

  1. Aktywuj skill kotlin-multiplatform w swoim projekcie Amethyst KMP. Skill automatycznie reaguje na pytania dotyczące abstrakcji platformy, umiejscowienia kodu w sourceset lub tworzenia expect/actual.

  2. Kiedy stoisz przed decyzją architektoniczną (np. "Czy powinienem stworzyć expect/actual czy trzymać to tylko na Androidzie?"), opisz problem w kontekście swojego kodu. Skill przeprowadzi Cię przez drzewo decyzyjne.

  3. Zacznij od głównego pytania: czy kod jest używany przez 2 lub więcej platform (Android, JVM/Desktop, iOS). Jeśli nie – trzymaj kod specyficzny dla platformy.

  4. Jeśli kod jest współdzielony, sprawdź czy jest czysty Kotlin bez API platformowych. Kod czysty (np. parsowanie zdarzeń Nostr, reguły biznesowe) trafia do commonMain.

  5. Dla kodu z zależnościami platformowymi oceń czy różni się między platformami (Android ≠ iOS ≠ Desktop) czy między JVM a resztą (Android = Desktop ≠ iOS/web). Pierwsza sytuacja wymaga expect/actual, druga jvmAndroid.

  6. Jeśli masz problemy z zależnościami Gradle podczas implementacji decyzji, skill integruje się z gradle-expert – opisz błąd a otrzymasz wskazówki dotyczące konfiguracji build.gradle.kts.

Podobne skille